mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-24 01:09:38 -05:00
f2fs: disallow switch extent_cache option dynamically
Swith extent_cache option dynamically when remount may casue consistency issue between extent cache and dnode page. Fix in this patch to avoid that condition. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
46c9e1413f
commit
9cd81ce3c2
1 changed files with 9 additions and 0 deletions
|
@ -742,6 +742,7 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data)
|
|||
int err, active_logs;
|
||||
bool need_restart_gc = false;
|
||||
bool need_stop_gc = false;
|
||||
bool no_extent_cache = !test_opt(sbi, EXTENT_CACHE);
|
||||
|
||||
sync_filesystem(sb);
|
||||
|
||||
|
@ -767,6 +768,14 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data)
|
|||
if (f2fs_readonly(sb) && (*flags & MS_RDONLY))
|
||||
goto skip;
|
||||
|
||||
/* disallow enable/disable extent_cache dynamically */
|
||||
if (no_extent_cache == !!test_opt(sbi, EXTENT_CACHE)) {
|
||||
err = -EINVAL;
|
||||
f2fs_msg(sbi->sb, KERN_WARNING,
|
||||
"switch extent_cache option is not allowed");
|
||||
goto restore_opts;
|
||||
}
|
||||
|
||||
/*
|
||||
* We stop the GC thread if FS is mounted as RO
|
||||
* or if background_gc = off is passed in mount
|
||||
|
|
Loading…
Add table
Reference in a new issue