Re: jffs2_do_reserve_space

David Woodhouse
2002-07-25T17:04:56Z

Can you try this?

Index: fs/jffs2/scan.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/scan.c,v
retrieving revision 1.78
diff -u -p -r1.78 scan.c
--- fs/jffs2/scan.c 2 Jul 2002 22:48:24 -0000 1.78
+++ fs/jffs2/scan.c 25 Jul 2002 17:04:28 -0000
@@ -322,6 +322,16 @@ static int jffs2_scan_eraseblock (struct
continue;
}

+ if (ofs + node.totlen > jeb->offset + c->sector_size) {
+ /* Eep. Node goes over the end of the erase block. */
+ printk(KERN_WARNING "Node at 0x%08x with length 0x%08x would run over the end of the erase block\n",
+ ofs, node.totlen);
+ printk(KERN_WARNING "Perhaps the file system was created with the wrong erase size?");
+ DIRTY_SPACE(4);
+ ofs += 4;
+ continue;
+ }
+
if (!(node.nodetype & JFFS2_NODE_ACCURATE)) {
/* Wheee. This is an obsoleted node */
D2(printk(KERN_DEBUG "Node at 0x%08x is obsolete. Skipping\n", ofs));

--
dwmw2