summary refs log tree commit diff
path: root/fs
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
parente326068806ee044cc617b1dc24be1293fca3fbf6 (diff)
downloadlinux-faaa27ab919799929732c356a92a160f8657ecc6.tar.gz
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')
-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?!? */