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);
289 uint32_t ofs, uint32_t len) in jffs2_fill_scan_buf() argument
294 ret = jffs2_flash_read(c, ofs, len, &retlen, buf); in jffs2_fill_scan_buf()
297 len, ofs, ret); in jffs2_fill_scan_buf()
302 ofs, retlen); in jffs2_fill_scan_buf()
329 struct jffs2_raw_xattr *rx, uint32_t ofs, in jffs2_scan_xattr_node() argument
339 ofs, je32_to_cpu(rx->node_crc), crc); in jffs2_scan_xattr_node()
352 ofs, je32_to_cpu(rx->totlen), totlen); in jffs2_scan_xattr_node()
364 = jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, totlen, NULL); in jffs2_scan_xattr_node()
374 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, totlen, (void *)xd); in jffs2_scan_xattr_node()
378 jffs2_sum_add_xattr_mem(s, rx, ofs - jeb->offset); in jffs2_scan_xattr_node()
380 ofs, xd->xid, xd->version); in jffs2_scan_xattr_node()
385 struct jffs2_raw_xref *rr, uint32_t ofs, in jffs2_scan_xref_node() argument
395 ofs, je32_to_cpu(rr->node_crc), crc); in jffs2_scan_xref_node()
403 ofs, je32_to_cpu(rr->totlen), in jffs2_scan_xref_node()
431 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, PAD(je32_to_cpu(rr->totlen)), (void *)ref); in jffs2_scan_xref_node()
434 jffs2_sum_add_xref_mem(s, rr, ofs - jeb->offset); in jffs2_scan_xref_node()
436 ofs, ref->xid, ref->ino); in jffs2_scan_xref_node()
447 uint32_t ofs, prevofs, max_ofs; in jffs2_scan_eraseblock() local
457 ofs = jeb->offset; in jffs2_scan_eraseblock()
460 jffs2_dbg(1, "%s(): Scanning block at 0x%x\n", __func__, ofs); in jffs2_scan_eraseblock()
569 ofs = 0; in jffs2_scan_eraseblock()
572 while(ofs < max_ofs && *(uint32_t *)(&buf[ofs]) == 0xFFFFFFFF) in jffs2_scan_eraseblock()
573 ofs += 4; in jffs2_scan_eraseblock()
575 if (ofs == max_ofs) { in jffs2_scan_eraseblock()
596 if (ofs) { in jffs2_scan_eraseblock()
598 jeb->offset + ofs); in jffs2_scan_eraseblock()
601 if ((err = jffs2_scan_dirty_space(c, jeb, ofs))) in jffs2_scan_eraseblock()
606 ofs += jeb->offset; in jffs2_scan_eraseblock()
613 while(ofs < jeb->offset + c->sector_size) { in jffs2_scan_eraseblock()
624 if (ofs & 3) { in jffs2_scan_eraseblock()
625 pr_warn("Eep. ofs 0x%08x not word-aligned!\n", ofs); in jffs2_scan_eraseblock()
626 ofs = PAD(ofs); in jffs2_scan_eraseblock()
629 if (ofs == prevofs) { in jffs2_scan_eraseblock()
631 ofs); in jffs2_scan_eraseblock()
634 ofs += 4; in jffs2_scan_eraseblock()
637 prevofs = ofs; in jffs2_scan_eraseblock()
639 if (jeb->offset + c->sector_size < ofs + sizeof(*node)) { in jffs2_scan_eraseblock()
642 jeb->offset, c->sector_size, ofs, in jffs2_scan_eraseblock()
644 if ((err = jffs2_scan_dirty_space(c, jeb, (jeb->offset + c->sector_size)-ofs))) in jffs2_scan_eraseblock()
649 if (buf_ofs + buf_len < ofs + sizeof(*node)) { in jffs2_scan_eraseblock()
650 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
653 buf_len, ofs); in jffs2_scan_eraseblock()
654 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
657 buf_ofs = ofs; in jffs2_scan_eraseblock()
660 node = (struct jffs2_unknown_node *)&buf[ofs-buf_ofs]; in jffs2_scan_eraseblock()
662 if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) { in jffs2_scan_eraseblock()
666 empty_start = ofs; in jffs2_scan_eraseblock()
667 ofs += 4; in jffs2_scan_eraseblock()
670 jffs2_dbg(1, "Found empty flash at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
672 inbuf_ofs = ofs - buf_ofs; in jffs2_scan_eraseblock()
676 empty_start, ofs); in jffs2_scan_eraseblock()
677 if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start))) in jffs2_scan_eraseblock()
683 ofs += 4; in jffs2_scan_eraseblock()
687 ofs); in jffs2_scan_eraseblock()
703 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
714 buf_len, ofs); in jffs2_scan_eraseblock()
715 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
718 buf_ofs = ofs; in jffs2_scan_eraseblock()
722 if (ofs == jeb->offset && je16_to_cpu(node->magic) == KSAMTIB_CIGAM_2SFFJ) { in jffs2_scan_eraseblock()
724 ofs); in jffs2_scan_eraseblock()
727 ofs += 4; in jffs2_scan_eraseblock()
731 jffs2_dbg(1, "Dirty bitmask at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
734 ofs += 4; in jffs2_scan_eraseblock()
738 pr_warn("Old JFFS2 bitmask found at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
742 ofs += 4; in jffs2_scan_eraseblock()
749 JFFS2_MAGIC_BITMASK, ofs, in jffs2_scan_eraseblock()
753 ofs += 4; in jffs2_scan_eraseblock()
765 ofs, je16_to_cpu(node->magic), in jffs2_scan_eraseblock()
772 ofs += 4; in jffs2_scan_eraseblock()
776 if (ofs + je32_to_cpu(node->totlen) > jeb->offset + c->sector_size) { in jffs2_scan_eraseblock()
779 ofs, je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
783 ofs += 4; in jffs2_scan_eraseblock()
790 ofs); in jffs2_scan_eraseblock()
793 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
799 if (buf_ofs + buf_len < ofs + sizeof(struct jffs2_raw_inode)) { in jffs2_scan_eraseblock()
800 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
803 buf_len, ofs); in jffs2_scan_eraseblock()
804 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
807 buf_ofs = ofs; in jffs2_scan_eraseblock()
810 err = jffs2_scan_inode_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
812 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
816 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
817 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
820 ofs); in jffs2_scan_eraseblock()
821 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
824 buf_ofs = ofs; in jffs2_scan_eraseblock()
827 err = jffs2_scan_dirent_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
829 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
834 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
835 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
838 ofs); in jffs2_scan_eraseblock()
839 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
842 buf_ofs = ofs; in jffs2_scan_eraseblock()
845 err = jffs2_scan_xattr_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
848 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
851 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
852 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
855 ofs); in jffs2_scan_eraseblock()
856 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
859 buf_ofs = ofs; in jffs2_scan_eraseblock()
862 err = jffs2_scan_xref_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
865 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
870 jffs2_dbg(1, "CLEANMARKER node found at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
873 ofs, je32_to_cpu(node->totlen), in jffs2_scan_eraseblock()
877 ofs += PAD(sizeof(struct jffs2_unknown_node)); in jffs2_scan_eraseblock()
880 ofs, jeb->offset); in jffs2_scan_eraseblock()
883 ofs += PAD(sizeof(struct jffs2_unknown_node)); in jffs2_scan_eraseblock()
885 jffs2_link_node_ref(c, jeb, ofs | REF_NORMAL, c->cleanmarker_size, NULL); in jffs2_scan_eraseblock()
887 ofs += PAD(c->cleanmarker_size); in jffs2_scan_eraseblock()
896 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
903 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
909 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
914 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
919 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
922 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
927 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
929 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, PAD(je32_to_cpu(node->totlen)), NULL); in jffs2_scan_eraseblock()
933 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
990 struct jffs2_raw_inode *ri, uint32_t ofs, struct jffs2_summary *s) in jffs2_scan_inode_node() argument
995 jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs); in jffs2_scan_inode_node()
1010 __func__, ofs, je32_to_cpu(ri->node_crc), crc); in jffs2_scan_inode_node()
1027 jffs2_link_node_ref(c, jeb, ofs | REF_UNCHECKED, PAD(je32_to_cpu(ri->totlen)), ic); in jffs2_scan_inode_node()
1037 jffs2_sum_add_inode_mem(s, ri, ofs - jeb->offset); in jffs2_scan_inode_node()
1044 struct jffs2_raw_dirent *rd, uint32_t ofs, struct jffs2_summary *s) in jffs2_scan_dirent_node() argument
1052 jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs); in jffs2_scan_dirent_node()
1060 __func__, ofs, je32_to_cpu(rd->node_crc), crc); in jffs2_scan_dirent_node()
1073 ofs, checkedlen); in jffs2_scan_dirent_node()
1085 __func__, ofs, je32_to_cpu(rd->name_crc), crc); in jffs2_scan_dirent_node()
1101 fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd), in jffs2_scan_dirent_node()
1112 jffs2_sum_add_dirent_mem(s, rd, ofs - jeb->offset); in jffs2_scan_dirent_node()