Lines Matching defs:ref

33 	struct jffs2_raw_node_ref *ref = tn->fn->raw;
43 ofs = ref_offset(ref) + sizeof(struct jffs2_raw_inode);
53 ref_offset(ref), tn->csize, ofs);
62 ref_offset(ref), tn->csize, tn->partial_crc, tn->data_crc, ofs - len, ofs, len);
109 ref_offset(ref), tn->data_crc, crc);
114 jeb = &c->blocks[ref->flash_offset / c->sector_size];
115 len = ref_totlen(c, jeb, ref);
120 ref->flash_offset |= REF_PRISTINE;
567 /* Returns first valid node after 'ref'. May return 'ref' */
568 static struct jffs2_raw_node_ref *jffs2_first_valid_node(struct jffs2_raw_node_ref *ref)
570 while (ref && ref->next_in_ino) {
571 if (!ref_obsolete(ref))
572 return ref;
573 dbg_noderef("node at 0x%08x is obsoleted. Ignoring.\n", ref_offset(ref));
574 ref = ref->next_in_ino;
586 static inline int read_direntry(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref,
594 BUG_ON(ref_obsolete(ref));
599 ref_offset(ref), je32_to_cpu(rd->node_crc), crc);
600 jffs2_mark_node_obsolete(c, ref);
605 if (ref_flags(ref) == REF_UNCHECKED) {
612 ref_offset(ref), rd->nsize, je32_to_cpu(rd->totlen));
613 jffs2_mark_node_obsolete(c, ref);
617 jeb = &c->blocks[ref->flash_offset / c->sector_size];
618 len = ref_totlen(c, jeb, ref);
625 ref->flash_offset = ref_offset(ref) | dirent_node_state(rd);
633 fd->raw = ref;
661 err = jffs2_flash_read(c, (ref_offset(ref)) + read,
685 ref_offset(ref), je32_to_cpu(rd->node_crc), crc);
686 jffs2_mark_node_obsolete(c, ref);
713 static inline int read_dnode(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref,
723 BUG_ON(ref_obsolete(ref));
728 ref_offset(ref), je32_to_cpu(rd->node_crc), crc);
729 jffs2_mark_node_obsolete(c, ref);
743 if (ref_flags(ref) == REF_UNCHECKED) {
748 JFFS2_WARNING("inode node header CRC is corrupted at %#08x\n", ref_offset(ref));
749 jffs2_dbg_dump_node(c, ref_offset(ref));
750 jffs2_mark_node_obsolete(c, ref);
804 ref_offset(ref), tn->partial_crc, je32_to_cpu(rd->data_crc));
805 jffs2_mark_node_obsolete(c, ref);
819 jeb = &c->blocks[ref->flash_offset / c->sector_size];
820 len = ref_totlen(c, jeb, ref);
827 ref->flash_offset = ref_offset(ref) | REF_NORMAL;
843 tn->fn->raw = ref;
857 ref_offset(ref), je32_to_cpu(rd->version),
888 static inline int read_unknown(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref, struct jffs2_unknown_node *un)
891 if (ref_flags(ref) == REF_UNCHECKED) {
893 ref_offset(ref));
897 jffs2_mark_node_obsolete(c, ref);
907 je16_to_cpu(un->nodetype), ref_offset(ref));
914 je16_to_cpu(un->nodetype), ref_offset(ref));
920 je16_to_cpu(un->nodetype), ref_offset(ref));
925 je16_to_cpu(un->nodetype), ref_offset(ref));
926 jffs2_mark_node_obsolete(c, ref);
940 static int read_more(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref,
955 offs = ref_offset(ref) + *rdlen;
984 struct jffs2_raw_node_ref *ref, *valid_ref;
1008 they're in gets erased. So if we mark 'ref' obsolete while we're
1010 we find the next valid node first, before processing 'ref'.
1012 ref = valid_ref;
1013 valid_ref = jffs2_first_valid_node(ref->next_in_ino);
1035 end = ref_offset(ref) + len;
1039 len = end - ref_offset(ref);
1042 dbg_readinode("read %d bytes at %#08x(%d).\n", len, ref_offset(ref), ref_flags(ref));
1045 err = jffs2_flash_read(c, ref_offset(ref), len, &retlen, buf);
1047 JFFS2_ERROR("can not read %d bytes from 0x%08x, error code: %d.\n", len, ref_offset(ref), err);
1052 JFFS2_ERROR("short read at %#08x: %zu instead of %d.\n", ref_offset(ref), retlen, len);
1062 ref_offset(ref), je16_to_cpu(node->u.magic),
1066 jffs2_dbg_dump_node(c, ref_offset(ref));
1067 jffs2_mark_node_obsolete(c, ref);
1073 je16_to_cpu(node->u.magic), ref_offset(ref));
1074 jffs2_mark_node_obsolete(c, ref);
1084 err = read_more(c, ref, sizeof(struct jffs2_raw_dirent), &len, buf);
1089 err = read_direntry(c, ref, &node->d, retlen, rii);
1099 err = read_more(c, ref, sizeof(struct jffs2_raw_inode), &len, buf);
1104 err = read_dnode(c, ref, &node->i, len, rii);
1113 err = read_more(c, ref, sizeof(struct jffs2_unknown_node), &len, buf);
1118 err = read_unknown(c, ref, &node->u);