diff options
author | Chao Yu <yuchao0@huawei.com> | 2018-03-01 18:40:32 +0300 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2018-03-17 07:57:27 +0300 |
commit | eea52882d848827ca812282118cd17025a76a891 (patch) | |
tree | 441c7a88500dc2d2f1a5ee6abfe4d36356d40f2a /fs/f2fs | |
parent | deeedd71e3732fb72740eb41cf66214b2b13005e (diff) | |
download | linux-eea52882d848827ca812282118cd17025a76a891.tar.xz |
f2fs: fix to restore old mount option in ->remount_fs
This patch fixes to restore old mount option once we encounter failure
in ->remount_fs.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r-- | fs/f2fs/super.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index d8357ba19159..36c5e582c1f2 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1340,6 +1340,11 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data) bool no_extent_cache = !test_opt(sbi, EXTENT_CACHE); int old_whint_mode = sbi->whint_mode; int old_alloc_mode = sbi->alloc_mode; + int old_inline_xattr_size = sbi->inline_xattr_size; + block_t old_root_reserved_blocks = sbi->root_reserved_blocks; + kuid_t old_resuid = sbi->s_resuid; + kgid_t old_resgid = sbi->s_resgid; + int old_write_io_size_bits = sbi->write_io_size_bits; #ifdef CONFIG_F2FS_FAULT_INJECTION struct f2fs_fault_info ffi = sbi->fault_info; #endif @@ -1489,6 +1494,11 @@ restore_opts: sbi->s_qf_names[i] = s_qf_names[i]; } #endif + sbi->write_io_size_bits = old_write_io_size_bits; + sbi->s_resgid = old_resgid; + sbi->s_resuid = old_resuid; + sbi->root_reserved_blocks = old_root_reserved_blocks; + sbi->inline_xattr_size = old_inline_xattr_size; sbi->alloc_mode = old_alloc_mode; sbi->whint_mode = old_whint_mode; sbi->mount_opt = org_mount_opt; |