f2fs: don't start checkpoint thread in readonly mountpoint

In readonly mountpoint, there should be no write IOs include checkpoint
IO, so that it's not needed to create kernel checkpoint thread.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Chao Yu
2021-03-17 17:56:03 +08:00
committed by Jaegeuk Kim
parent ac2d750b20
commit 3f7070b050

View File

@@ -2069,8 +2069,10 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data)
} }
} }
if (!test_opt(sbi, DISABLE_CHECKPOINT) && if ((*flags & SB_RDONLY) || test_opt(sbi, DISABLE_CHECKPOINT) ||
test_opt(sbi, MERGE_CHECKPOINT)) { !test_opt(sbi, MERGE_CHECKPOINT)) {
f2fs_stop_ckpt_thread(sbi);
} else {
err = f2fs_start_ckpt_thread(sbi); err = f2fs_start_ckpt_thread(sbi);
if (err) { if (err) {
f2fs_err(sbi, f2fs_err(sbi,
@@ -2078,8 +2080,6 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data)
err); err);
goto restore_gc; goto restore_gc;
} }
} else {
f2fs_stop_ckpt_thread(sbi);
} }
/* /*
@@ -3835,7 +3835,7 @@ try_onemore:
/* setup checkpoint request control and start checkpoint issue thread */ /* setup checkpoint request control and start checkpoint issue thread */
f2fs_init_ckpt_req_control(sbi); f2fs_init_ckpt_req_control(sbi);
if (!test_opt(sbi, DISABLE_CHECKPOINT) && if (!f2fs_readonly(sb) && !test_opt(sbi, DISABLE_CHECKPOINT) &&
test_opt(sbi, MERGE_CHECKPOINT)) { test_opt(sbi, MERGE_CHECKPOINT)) {
err = f2fs_start_ckpt_thread(sbi); err = f2fs_start_ckpt_thread(sbi);
if (err) { if (err) {