Lines Matching refs:ofs
47 struct jffs2_raw_inode *ri, uint32_t ofs, struct jffs2_summary *s);
49 struct jffs2_raw_dirent *rd, uint32_t ofs, struct jffs2_summary *s);
288 uint32_t ofs, uint32_t len) in jffs2_fill_scan_buf() argument
293 ret = jffs2_flash_read(c, ofs, len, &retlen, buf); in jffs2_fill_scan_buf()
296 len, ofs, ret); in jffs2_fill_scan_buf()
301 ofs, retlen); in jffs2_fill_scan_buf()
328 struct jffs2_raw_xattr *rx, uint32_t ofs, in jffs2_scan_xattr_node() argument
338 ofs, je32_to_cpu(rx->node_crc), crc); in jffs2_scan_xattr_node()
351 ofs, je32_to_cpu(rx->totlen), totlen); in jffs2_scan_xattr_node()
363 = jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, totlen, NULL); in jffs2_scan_xattr_node()
373 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, totlen, (void *)xd); in jffs2_scan_xattr_node()
377 jffs2_sum_add_xattr_mem(s, rx, ofs - jeb->offset); in jffs2_scan_xattr_node()
379 ofs, xd->xid, xd->version); in jffs2_scan_xattr_node()
384 struct jffs2_raw_xref *rr, uint32_t ofs, in jffs2_scan_xref_node() argument
394 ofs, je32_to_cpu(rr->node_crc), crc); in jffs2_scan_xref_node()
402 ofs, je32_to_cpu(rr->totlen), in jffs2_scan_xref_node()
430 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, PAD(je32_to_cpu(rr->totlen)), (void *)ref); in jffs2_scan_xref_node()
433 jffs2_sum_add_xref_mem(s, rr, ofs - jeb->offset); in jffs2_scan_xref_node()
435 ofs, ref->xid, ref->ino); in jffs2_scan_xref_node()
446 uint32_t ofs, prevofs, max_ofs; in jffs2_scan_eraseblock() local
456 ofs = jeb->offset; in jffs2_scan_eraseblock()
459 jffs2_dbg(1, "%s(): Scanning block at 0x%x\n", __func__, ofs); in jffs2_scan_eraseblock()
565 ofs = 0; in jffs2_scan_eraseblock()
568 while(ofs < max_ofs && *(uint32_t *)(&buf[ofs]) == 0xFFFFFFFF) in jffs2_scan_eraseblock()
569 ofs += 4; in jffs2_scan_eraseblock()
571 if (ofs == max_ofs) { in jffs2_scan_eraseblock()
592 if (ofs) { in jffs2_scan_eraseblock()
594 jeb->offset + ofs); in jffs2_scan_eraseblock()
597 if ((err = jffs2_scan_dirty_space(c, jeb, ofs))) in jffs2_scan_eraseblock()
602 ofs += jeb->offset; in jffs2_scan_eraseblock()
609 while(ofs < jeb->offset + c->sector_size) { in jffs2_scan_eraseblock()
620 if (ofs & 3) { in jffs2_scan_eraseblock()
621 pr_warn("Eep. ofs 0x%08x not word-aligned!\n", ofs); in jffs2_scan_eraseblock()
622 ofs = PAD(ofs); in jffs2_scan_eraseblock()
625 if (ofs == prevofs) { in jffs2_scan_eraseblock()
627 ofs); in jffs2_scan_eraseblock()
630 ofs += 4; in jffs2_scan_eraseblock()
633 prevofs = ofs; in jffs2_scan_eraseblock()
635 if (jeb->offset + c->sector_size < ofs + sizeof(*node)) { in jffs2_scan_eraseblock()
638 jeb->offset, c->sector_size, ofs, in jffs2_scan_eraseblock()
640 if ((err = jffs2_scan_dirty_space(c, jeb, (jeb->offset + c->sector_size)-ofs))) in jffs2_scan_eraseblock()
645 if (buf_ofs + buf_len < ofs + sizeof(*node)) { in jffs2_scan_eraseblock()
646 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
649 buf_len, ofs); in jffs2_scan_eraseblock()
650 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
653 buf_ofs = ofs; in jffs2_scan_eraseblock()
656 node = (struct jffs2_unknown_node *)&buf[ofs-buf_ofs]; in jffs2_scan_eraseblock()
658 if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) { in jffs2_scan_eraseblock()
662 empty_start = ofs; in jffs2_scan_eraseblock()
663 ofs += 4; in jffs2_scan_eraseblock()
666 jffs2_dbg(1, "Found empty flash at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
668 inbuf_ofs = ofs - buf_ofs; in jffs2_scan_eraseblock()
672 empty_start, ofs); in jffs2_scan_eraseblock()
673 if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start))) in jffs2_scan_eraseblock()
679 ofs += 4; in jffs2_scan_eraseblock()
683 ofs); in jffs2_scan_eraseblock()
699 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
710 buf_len, ofs); in jffs2_scan_eraseblock()
711 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
714 buf_ofs = ofs; in jffs2_scan_eraseblock()
718 if (ofs == jeb->offset && je16_to_cpu(node->magic) == KSAMTIB_CIGAM_2SFFJ) { in jffs2_scan_eraseblock()
720 ofs); in jffs2_scan_eraseblock()
723 ofs += 4; in jffs2_scan_eraseblock()
727 jffs2_dbg(1, "Dirty bitmask at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
730 ofs += 4; in jffs2_scan_eraseblock()
734 pr_warn("Old JFFS2 bitmask found at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
738 ofs += 4; in jffs2_scan_eraseblock()
745 JFFS2_MAGIC_BITMASK, ofs, in jffs2_scan_eraseblock()
749 ofs += 4; in jffs2_scan_eraseblock()
761 ofs, je16_to_cpu(node->magic), in jffs2_scan_eraseblock()
768 ofs += 4; in jffs2_scan_eraseblock()
772 if (ofs + je32_to_cpu(node->totlen) > jeb->offset + c->sector_size) { in jffs2_scan_eraseblock()
775 ofs, je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
779 ofs += 4; in jffs2_scan_eraseblock()
786 ofs); in jffs2_scan_eraseblock()
789 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
795 if (buf_ofs + buf_len < ofs + sizeof(struct jffs2_raw_inode)) { in jffs2_scan_eraseblock()
796 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
799 buf_len, ofs); in jffs2_scan_eraseblock()
800 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
803 buf_ofs = ofs; in jffs2_scan_eraseblock()
806 err = jffs2_scan_inode_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
808 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
812 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
813 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
816 ofs); in jffs2_scan_eraseblock()
817 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
820 buf_ofs = ofs; in jffs2_scan_eraseblock()
823 err = jffs2_scan_dirent_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
825 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
830 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
831 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
834 ofs); in jffs2_scan_eraseblock()
835 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
838 buf_ofs = ofs; in jffs2_scan_eraseblock()
841 err = jffs2_scan_xattr_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
844 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
847 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
848 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
851 ofs); in jffs2_scan_eraseblock()
852 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
855 buf_ofs = ofs; in jffs2_scan_eraseblock()
858 err = jffs2_scan_xref_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
861 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
866 jffs2_dbg(1, "CLEANMARKER node found at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
869 ofs, je32_to_cpu(node->totlen), in jffs2_scan_eraseblock()
873 ofs += PAD(sizeof(struct jffs2_unknown_node)); in jffs2_scan_eraseblock()
876 ofs, jeb->offset); in jffs2_scan_eraseblock()
879 ofs += PAD(sizeof(struct jffs2_unknown_node)); in jffs2_scan_eraseblock()
881 jffs2_link_node_ref(c, jeb, ofs | REF_NORMAL, c->cleanmarker_size, NULL); in jffs2_scan_eraseblock()
883 ofs += PAD(c->cleanmarker_size); in jffs2_scan_eraseblock()
892 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
899 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
905 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
910 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
915 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
918 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
923 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
925 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, PAD(je32_to_cpu(node->totlen)), NULL); in jffs2_scan_eraseblock()
929 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
986 struct jffs2_raw_inode *ri, uint32_t ofs, struct jffs2_summary *s) in jffs2_scan_inode_node() argument
991 jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs); in jffs2_scan_inode_node()
1006 __func__, ofs, je32_to_cpu(ri->node_crc), crc); in jffs2_scan_inode_node()
1023 jffs2_link_node_ref(c, jeb, ofs | REF_UNCHECKED, PAD(je32_to_cpu(ri->totlen)), ic); in jffs2_scan_inode_node()
1033 jffs2_sum_add_inode_mem(s, ri, ofs - jeb->offset); in jffs2_scan_inode_node()
1040 struct jffs2_raw_dirent *rd, uint32_t ofs, struct jffs2_summary *s) in jffs2_scan_dirent_node() argument
1048 jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs); in jffs2_scan_dirent_node()
1056 __func__, ofs, je32_to_cpu(rd->node_crc), crc); in jffs2_scan_dirent_node()
1069 ofs, checkedlen); in jffs2_scan_dirent_node()
1081 __func__, ofs, je32_to_cpu(rd->name_crc), crc); in jffs2_scan_dirent_node()
1097 fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd), in jffs2_scan_dirent_node()
1108 jffs2_sum_add_dirent_mem(s, rd, ofs - jeb->offset); in jffs2_scan_dirent_node()