aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2016-03-23 10:42:01 -0700
committerMister Oyster <oysterized@gmail.com>2017-04-13 12:33:16 +0200
commitdded7e21f03fdd19c7266a076ca4b58754964146 (patch)
treeecbfe98145ab9f4c60b11bf5e84987509e7f4f36
parent96a8b98cfd0c7465363577d7168ff818c65e9f5f (diff)
f2fs: give RO message when recovering superblock
When one of superblocks is missing, f2fs recovers it with the valid one. But, even if f2fs is mounted as RO, we'd better notify that too. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/super.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index ee66ee8f7..9535389db 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1297,6 +1297,9 @@ int f2fs_commit_super(struct f2fs_sb_info *sbi, bool recover)
struct buffer_head *bh;
int err;
+ if (f2fs_readonly(sbi->sb) || bdev_read_only(sbi->sb->s_bdev))
+ return -EROFS;
+
/* write back-up superblock first */
bh = sb_getblk(sbi->sb, sbi->valid_super_block ? 0: 1);
if (!bh)
@@ -1564,7 +1567,7 @@ try_onemore:
kfree(options);
/* recover broken superblock */
- if (recovery && !f2fs_readonly(sb) && !bdev_read_only(sb->s_bdev)) {
+ if (recovery) {
err = f2fs_commit_super(sbi, true);
f2fs_msg(sb, KERN_INFO,
"Try to recover %dth superblock, ret: %ld",