mtd/fs/jffs2 nodelist.h,1.102,1.103
David Woodhouse
dwmw2 at infradead.org
Mon Oct 6 08:50:48 EDT 2003
- Previous message: mtd/fs/jffs2 wbuf.c,1.49,1.50
- Next message: mtd/fs/jffs2 Makefile,1.41,1.42 file.c,1.93,1.94 fs.c,1.29,1.30
os-linux.h,1.33,1.34 super-v24.c,1.74,1.75 super.c,1.88,1.89
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/mtd/fs/jffs2
In directory phoenix.infradead.org:/tmp/cvs-serv13553
Modified Files:
nodelist.h
Log Message:
extra debugging
Index: nodelist.h
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/nodelist.h,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -r1.102 -r1.103
--- nodelist.h 4 Oct 2003 08:33:06 -0000 1.102
+++ nodelist.h 6 Oct 2003 12:50:45 -0000 1.103
@@ -216,15 +216,46 @@
} \
} while(0)
+static inline void paranoia_failed_dump(struct jffs2_eraseblock *jeb)
+{
+ struct jffs2_raw_node_ref *ref;
+ int i=0;
+
+ printk(KERN_NOTICE);
+ for (ref = jeb->first_node; ref; ref = ref->next_phys) {
+ printk("%08x->", ref_offset(ref));
+ if (++i == 8) {
+ i = 0;
+ printk("\n" KERN_NOTICE);
+ }
+ }
+ printk("\n");
+}
+
+
#define ACCT_PARANOIA_CHECK(jeb) do { \
uint32_t my_used_size = 0; \
uint32_t my_unchecked_size = 0; \
struct jffs2_raw_node_ref *ref2 = jeb->first_node; \
while (ref2) { \
+ if (unlikely(ref2->flash_offset < jeb->offset || \
+ ref2->flash_offset > jeb->offset + c->sector_size)) { \
+ printk(KERN_NOTICE "Node %08x shouldn't be in block at %08x!\n", \
+ ref_offset(ref2), jeb->offset); \
+ paranoia_failed_dump(jeb); \
+ BUG(); \
+ } \
if (ref_flags(ref2) == REF_UNCHECKED) \
my_unchecked_size += ref2->totlen; \
else if (!ref_obsolete(ref2)) \
my_used_size += ref2->totlen; \
+ if (unlikely((!ref2->next_phys) != (ref2 == jeb->last_node))) { \
+ printk("ref for node at %p (phys %08x) has next_phys->%p (%08x), last_node->%p (phys %08x)\n", \
+ ref2, ref_offset(ref2), ref2->next_phys, ref_offset(ref2->next_phys), \
+ jeb->last_node, ref_offset(jeb->last_node)); \
+ paranoia_failed_dump(jeb); \
+ BUG(); \
+ } \
ref2 = ref2->next_phys; \
} \
if (my_used_size != jeb->used_size) { \
- Previous message: mtd/fs/jffs2 wbuf.c,1.49,1.50
- Next message: mtd/fs/jffs2 Makefile,1.41,1.42 file.c,1.93,1.94 fs.c,1.29,1.30
os-linux.h,1.33,1.34 super-v24.c,1.74,1.75 super.c,1.88,1.89
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the linux-mtd-cvs
mailing list