From: Joern Engel Date: Fri, 26 Mar 2010 09:18:36 +0000 (+0100) Subject: Write out both superblocks on mismatch X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=faaa27ab919799929732c356a92a160f8657ecc6;p=openwrt%2Fstaging%2Fblogic.git Write out both superblocks on mismatch If the first superblock is wrong and the second gets written, there will still be a mismatch on next mount. Write both to make sure they match. Signed-off-by: Joern Engel --- diff --git a/fs/logfs/super.c b/fs/logfs/super.c index 018728120bb3..006670fe9e8b 100644 --- a/fs/logfs/super.c +++ b/fs/logfs/super.c @@ -277,7 +277,7 @@ static int logfs_recover_sb(struct super_block *sb) } if (valid0 && valid1 && ds_cmp(ds0, ds1)) { printk(KERN_INFO"Superblocks don't match - fixing.\n"); - return write_one_sb(sb, super->s_devops->find_last_sb); + return logfs_write_sb(sb); } /* If neither is valid now, something's wrong. Didn't we properly * check them before?!? */