diff options
Diffstat (limited to '')
-rw-r--r-- | fs/f2fs/super.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 1d48900d8cd3..bdce7940fe20 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -690,7 +690,7 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) int ret; if (!options) - goto default_check; + return 0; while ((p = strsep(&options, ",")) != NULL) { int token; @@ -1324,7 +1324,11 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) return -EINVAL; } } -default_check: + return 0; +} + +static int f2fs_default_check(struct f2fs_sb_info *sbi) +{ #ifdef CONFIG_QUOTA if (f2fs_check_quota_options(sbi)) return -EINVAL; @@ -2384,6 +2388,10 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data) } #endif + err = f2fs_default_check(sbi); + if (err) + goto restore_opts; + /* flush outstanding errors before changing fs state */ flush_work(&sbi->s_error_work); @@ -4539,6 +4547,10 @@ try_onemore: if (err) goto free_options; + err = f2fs_default_check(sbi); + if (err) + goto free_options; + sb->s_maxbytes = max_file_blocks(NULL) << le32_to_cpu(raw_super->log_blocksize); sb->s_max_links = F2FS_LINK_MAX; |