[JFFS2] Disable summary after wbuf recovery

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Wed Apr 18 04:59:05 EDT 2007


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=7f762ab24ca2215b69a1395b5b58877f8282a089
Commit:     7f762ab24ca2215b69a1395b5b58877f8282a089
Parent:     99c2594f0e13de1ca84f97efc3f9e7bc49f91e11
Author:     Adrian Hunter <ext-adrian.hunter at nokia.com>
AuthorDate: Wed Apr 4 13:47:53 2007 +0300
Committer:  David Woodhouse <dwmw2 at infradead.org>
CommitDate: Tue Apr 17 13:56:44 2007 -0400

    [JFFS2] Disable summary after wbuf recovery
    
    After a write error, any data in the write buffer must
    be relocated.  This is handled by the jffs2_wbuf_recover
    function.  This function does not fix up the erase block
    summary information that is collected for writing at the
    end of the block, which results in an incorrect summary
    (or BUG if the summary was found to be empty).
    
    As the summary is not essential (it is an optimisation),
    it may be disabled for the current erase block when this
    situation arises.  This patch does that.
    
    Signed-off-by: Adrian Hunter <ext-adrian.hunter at nokia.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
---
 fs/jffs2/wbuf.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
index 4fac6dd..f9da0e7 100644
--- a/fs/jffs2/wbuf.c
+++ b/fs/jffs2/wbuf.c
@@ -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");



More information about the linux-mtd-cvs mailing list