summaryrefslogtreecommitdiffstats
path: root/fs/logfs/super.c
diff options
context:
space:
mode:
authorJoern Engel <joern@logfs.org>2010-03-26 10:18:36 +0100
committerJoern Engel <joern@logfs.org>2010-03-27 11:19:15 +0100
commitfaaa27ab919799929732c356a92a160f8657ecc6 (patch)
tree4df7ac1b4a5e48018fd93df4262017832f7afec0 /fs/logfs/super.c
parentPrevent schedule while atomic in __logfs_readdir (diff)
downloadlinux-faaa27ab919799929732c356a92a160f8657ecc6.tar.xz
linux-faaa27ab919799929732c356a92a160f8657ecc6.zip
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 <joern@logfs.org>
Diffstat (limited to 'fs/logfs/super.c')
-rw-r--r--fs/logfs/super.c2
1 files changed, 1 insertions, 1 deletions
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?!? */