f2fs: fix to show norecovery mount option
authorChao Yu <yuchao0@huawei.com>
Fri, 14 Feb 2020 09:45:11 +0000 (17:45 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 19 Mar 2020 18:41:25 +0000 (11:41 -0700)
Previously, 'norecovery' mount option will be shown as
'disable_roll_forward', fix to show original option name correctly.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/super.c

index 59d6ade..221d035 100644 (file)
@@ -100,6 +100,7 @@ extern const char *f2fs_fault_name[FAULT_MAX];
 #define F2FS_MOUNT_INLINE_XATTR_SIZE   0x00800000
 #define F2FS_MOUNT_RESERVE_ROOT                0x01000000
 #define F2FS_MOUNT_DISABLE_CHECKPOINT  0x02000000
+#define F2FS_MOUNT_NORECOVERY          0x04000000
 
 #define F2FS_OPTION(sbi)       ((sbi)->mount_opt)
 #define clear_opt(sbi, option) (F2FS_OPTION(sbi).opt &= ~F2FS_MOUNT_##option)
index dcf9042..a05139b 100644 (file)
@@ -446,7 +446,7 @@ static int parse_options(struct super_block *sb, char *options)
                        break;
                case Opt_norecovery:
                        /* this option mounts f2fs with ro */
-                       set_opt(sbi, DISABLE_ROLL_FORWARD);
+                       set_opt(sbi, NORECOVERY);
                        if (!f2fs_readonly(sb))
                                return -EINVAL;
                        break;
@@ -1447,6 +1447,8 @@ static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
        }
        if (test_opt(sbi, DISABLE_ROLL_FORWARD))
                seq_puts(seq, ",disable_roll_forward");
+       if (test_opt(sbi, NORECOVERY))
+               seq_puts(seq, ",norecovery");
        if (test_opt(sbi, DISCARD))
                seq_puts(seq, ",discard");
        else
@@ -3599,7 +3601,8 @@ try_onemore:
                goto reset_checkpoint;
 
        /* recover fsynced data */
-       if (!test_opt(sbi, DISABLE_ROLL_FORWARD)) {
+       if (!test_opt(sbi, DISABLE_ROLL_FORWARD) &&
+                       !test_opt(sbi, NORECOVERY)) {
                /*
                 * mount should be failed, when device has readonly mode, and
                 * previous checkpoint was not done by clean system shutdown.