]> err.no Git - linux-2.6/blobdiff - fs/jffs2/wbuf.c
[JFFS2] Improve failure mode if inode checking leaves unchecked space.
[linux-2.6] / fs / jffs2 / wbuf.c
index 23028b384418e14e0f84e9ca46180ecdf1141207..f87f11af708633b0e29cdce5b284317fe94822b6 100644 (file)
@@ -345,6 +345,9 @@ static void jffs2_wbuf_recover(struct jffs2_sb_info *c)
                return;
        }
 
+       /* The summary is not recovered, so it must be disabled for this erase block */
+       jffs2_sum_disable_collecting(c->summary);
+
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, nr_refile);
        if (ret) {
                printk(KERN_WARNING "Failed to allocate node refs for wbuf recovery. Data loss ensues.\n");
@@ -967,9 +970,9 @@ exit:
 
 static const struct jffs2_unknown_node oob_cleanmarker =
 {
-       .magic = cpu_to_je16(JFFS2_MAGIC_BITMASK),
-       .nodetype = cpu_to_je16(JFFS2_NODETYPE_CLEANMARKER),
-       .totlen = cpu_to_je32(8)
+       .magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK),
+       .nodetype = constant_cpu_to_je16(JFFS2_NODETYPE_CLEANMARKER),
+       .totlen = constant_cpu_to_je32(8)
 };
 
 /*
@@ -1090,7 +1093,7 @@ int jffs2_write_nand_badblock(struct jffs2_sb_info *c, struct jffs2_eraseblock *
        if (!c->mtd->block_markbad)
                return 1; // What else can we do?
 
-       D1(printk(KERN_WARNING "jffs2_write_nand_badblock(): Marking bad block at %08x\n", bad_offset));
+       printk(KERN_WARNING "JFFS2: marking eraseblock at %08x\n as bad", bad_offset);
        ret = c->mtd->block_markbad(c->mtd, bad_offset);
 
        if (ret) {