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()
568 ofs = 0; in jffs2_scan_eraseblock()
571 while(ofs < max_ofs && *(uint32_t *)(&buf[ofs]) == 0xFFFFFFFF) in jffs2_scan_eraseblock()
572 ofs += 4; in jffs2_scan_eraseblock()
574 if (ofs == max_ofs) { in jffs2_scan_eraseblock()
595 if (ofs) { in jffs2_scan_eraseblock()
597 jeb->offset + ofs); in jffs2_scan_eraseblock()
600 if ((err = jffs2_scan_dirty_space(c, jeb, ofs))) in jffs2_scan_eraseblock()
605 ofs += jeb->offset; in jffs2_scan_eraseblock()
612 while(ofs < jeb->offset + c->sector_size) { in jffs2_scan_eraseblock()
623 if (ofs & 3) { in jffs2_scan_eraseblock()
624 pr_warn("Eep. ofs 0x%08x not word-aligned!\n", ofs); in jffs2_scan_eraseblock()
625 ofs = PAD(ofs); in jffs2_scan_eraseblock()
628 if (ofs == prevofs) { in jffs2_scan_eraseblock()
630 ofs); in jffs2_scan_eraseblock()
633 ofs += 4; in jffs2_scan_eraseblock()
636 prevofs = ofs; in jffs2_scan_eraseblock()
638 if (jeb->offset + c->sector_size < ofs + sizeof(*node)) { in jffs2_scan_eraseblock()
641 jeb->offset, c->sector_size, ofs, in jffs2_scan_eraseblock()
643 if ((err = jffs2_scan_dirty_space(c, jeb, (jeb->offset + c->sector_size)-ofs))) in jffs2_scan_eraseblock()
648 if (buf_ofs + buf_len < ofs + sizeof(*node)) { in jffs2_scan_eraseblock()
649 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
652 buf_len, ofs); in jffs2_scan_eraseblock()
653 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
656 buf_ofs = ofs; in jffs2_scan_eraseblock()
659 node = (struct jffs2_unknown_node *)&buf[ofs-buf_ofs]; in jffs2_scan_eraseblock()
661 if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) { in jffs2_scan_eraseblock()
665 empty_start = ofs; in jffs2_scan_eraseblock()
666 ofs += 4; in jffs2_scan_eraseblock()
669 jffs2_dbg(1, "Found empty flash at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
671 inbuf_ofs = ofs - buf_ofs; in jffs2_scan_eraseblock()
675 empty_start, ofs); in jffs2_scan_eraseblock()
676 if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start))) in jffs2_scan_eraseblock()
682 ofs += 4; in jffs2_scan_eraseblock()
686 ofs); in jffs2_scan_eraseblock()
702 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
713 buf_len, ofs); in jffs2_scan_eraseblock()
714 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
717 buf_ofs = ofs; in jffs2_scan_eraseblock()
721 if (ofs == jeb->offset && je16_to_cpu(node->magic) == KSAMTIB_CIGAM_2SFFJ) { in jffs2_scan_eraseblock()
723 ofs); in jffs2_scan_eraseblock()
726 ofs += 4; in jffs2_scan_eraseblock()
730 jffs2_dbg(1, "Dirty bitmask at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
733 ofs += 4; in jffs2_scan_eraseblock()
737 pr_warn("Old JFFS2 bitmask found at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
741 ofs += 4; in jffs2_scan_eraseblock()
748 JFFS2_MAGIC_BITMASK, ofs, in jffs2_scan_eraseblock()
752 ofs += 4; in jffs2_scan_eraseblock()
764 ofs, je16_to_cpu(node->magic), in jffs2_scan_eraseblock()
771 ofs += 4; in jffs2_scan_eraseblock()
775 if (ofs + je32_to_cpu(node->totlen) > jeb->offset + c->sector_size) { in jffs2_scan_eraseblock()
778 ofs, je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
782 ofs += 4; in jffs2_scan_eraseblock()
789 ofs); in jffs2_scan_eraseblock()
792 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
798 if (buf_ofs + buf_len < ofs + sizeof(struct jffs2_raw_inode)) { in jffs2_scan_eraseblock()
799 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
802 buf_len, ofs); in jffs2_scan_eraseblock()
803 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
806 buf_ofs = ofs; in jffs2_scan_eraseblock()
809 err = jffs2_scan_inode_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
811 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
815 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
816 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
819 ofs); in jffs2_scan_eraseblock()
820 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
823 buf_ofs = ofs; in jffs2_scan_eraseblock()
826 err = jffs2_scan_dirent_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
828 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
833 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
834 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
837 ofs); in jffs2_scan_eraseblock()
838 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
841 buf_ofs = ofs; in jffs2_scan_eraseblock()
844 err = jffs2_scan_xattr_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
847 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
850 if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) { in jffs2_scan_eraseblock()
851 buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); in jffs2_scan_eraseblock()
854 ofs); in jffs2_scan_eraseblock()
855 err = jffs2_fill_scan_buf(c, buf, ofs, buf_len); in jffs2_scan_eraseblock()
858 buf_ofs = ofs; in jffs2_scan_eraseblock()
861 err = jffs2_scan_xref_node(c, jeb, (void *)node, ofs, s); in jffs2_scan_eraseblock()
864 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
869 jffs2_dbg(1, "CLEANMARKER node found at 0x%08x\n", ofs); in jffs2_scan_eraseblock()
872 ofs, je32_to_cpu(node->totlen), in jffs2_scan_eraseblock()
876 ofs += PAD(sizeof(struct jffs2_unknown_node)); in jffs2_scan_eraseblock()
879 ofs, jeb->offset); in jffs2_scan_eraseblock()
882 ofs += PAD(sizeof(struct jffs2_unknown_node)); in jffs2_scan_eraseblock()
884 jffs2_link_node_ref(c, jeb, ofs | REF_NORMAL, c->cleanmarker_size, NULL); in jffs2_scan_eraseblock()
886 ofs += PAD(c->cleanmarker_size); in jffs2_scan_eraseblock()
895 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
902 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
908 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
913 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
918 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
921 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
926 je16_to_cpu(node->nodetype), ofs); in jffs2_scan_eraseblock()
928 jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, PAD(je32_to_cpu(node->totlen)), NULL); in jffs2_scan_eraseblock()
932 ofs += PAD(je32_to_cpu(node->totlen)); in jffs2_scan_eraseblock()
989 struct jffs2_raw_inode *ri, uint32_t ofs, struct jffs2_summary *s) in jffs2_scan_inode_node() argument
994 jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs); in jffs2_scan_inode_node()
1009 __func__, ofs, je32_to_cpu(ri->node_crc), crc); in jffs2_scan_inode_node()
1026 jffs2_link_node_ref(c, jeb, ofs | REF_UNCHECKED, PAD(je32_to_cpu(ri->totlen)), ic); in jffs2_scan_inode_node()
1036 jffs2_sum_add_inode_mem(s, ri, ofs - jeb->offset); in jffs2_scan_inode_node()
1043 struct jffs2_raw_dirent *rd, uint32_t ofs, struct jffs2_summary *s) in jffs2_scan_dirent_node() argument
1051 jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs); in jffs2_scan_dirent_node()
1059 __func__, ofs, je32_to_cpu(rd->node_crc), crc); in jffs2_scan_dirent_node()
1072 ofs, checkedlen); in jffs2_scan_dirent_node()
1084 __func__, ofs, je32_to_cpu(rd->name_crc), crc); in jffs2_scan_dirent_node()
1100 fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd), in jffs2_scan_dirent_node()
1111 jffs2_sum_add_dirent_mem(s, rd, ofs - jeb->offset); in jffs2_scan_dirent_node()