Lines Matching defs:ref

590 	struct jffs2_raw_node_ref *ref;
595 ref = jeb->last_node;
597 dbg_noderef("Last node at %p is (%08x,%p)\n", ref, ref->flash_offset,
598 ref->next_in_ino);
600 while (ref->flash_offset != REF_EMPTY_NODE) {
601 if (ref->flash_offset == REF_LINK_NODE)
602 ref = ref->next_in_ino;
604 ref++;
607 dbg_noderef("New ref is %p (%08x becomes %08x,%p) len 0x%x\n", ref,
608 ref->flash_offset, ofs, ref->next_in_ino, len);
610 ref->flash_offset = ofs;
613 jeb->first_node = ref;
614 BUG_ON(ref_offset(ref) != jeb->offset);
615 } else if (unlikely(ref_offset(ref) != jeb->offset + c->sector_size - jeb->free_size)) {
618 JFFS2_ERROR("Adding new ref %p at (0x%08x-0x%08x) not immediately after previous (0x%08x-0x%08x)\n",
619 ref, ref_offset(ref), ref_offset(ref)+len,
624 jeb->last_node = ref;
627 ref->next_in_ino = ic->nodes;
628 ic->nodes = ref;
630 ref->next_in_ino = NULL;
633 switch(ref_flags(ref)) {
655 ref->__totlen = len;
656 ref_totlen(c, jeb, ref);
658 return ref;
661 /* No locking, no reservation of 'ref'. Do not use on a live file system */
694 struct jffs2_raw_node_ref *ref)
697 struct jffs2_raw_node_ref *next_ref = ref_next(ref);
703 jeb = &c->blocks[ref->flash_offset / c->sector_size];
706 if (unlikely(ref != jeb->last_node)) {
707 pr_crit("ref %p @0x%08x is not jeb->last_node (%p @0x%08x)\n",
708 ref, ref_offset(ref), jeb->last_node,
715 return ref_end - ref_offset(ref);
719 struct jffs2_raw_node_ref *ref)
723 ret = __ref_totlen(c, jeb, ref);
726 if (unlikely(ret != ref->__totlen)) {
728 jeb = &c->blocks[ref->flash_offset / c->sector_size];
730 pr_crit("Totlen for ref at %p (0x%08x-0x%08x) miscalculated as 0x%x instead of %x\n",
731 ref, ref_offset(ref), ref_offset(ref) + ref->__totlen,
732 ret, ref->__totlen);
733 if (ref_next(ref)) {
735 ref_next(ref), ref_offset(ref_next(ref)),
736 ref_offset(ref_next(ref)) + ref->__totlen);
738 pr_crit("No next ref. jeb->last_node is %p\n",
751 ret = ref->__totlen;