[PATCH] f2fs: prevent setting ioprio of thread not in merge mode

From: Daeho Jeong
Date: Sun Jan 31 2021 - 19:59:01 EST


From: Daeho Jeong <daehojeong@xxxxxxxxxx>

It causes a crash to change the ioprio of checkpoint thread not in
checkpoint=merge. I fixed that to prevent setting the ioprio of the
thread when checkpoint=merge is not enabled.

Signed-off-by: Daeho Jeong <daehojeong@xxxxxxxxxx>
---
fs/f2fs/sysfs.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 100608bcd517..e38a7f6921dd 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -357,8 +357,12 @@ static ssize_t __sbi_store(struct f2fs_attr *a,
return -EINVAL;

cprc->ckpt_thread_ioprio = IOPRIO_PRIO_VALUE(class, data);
- ret = set_task_ioprio(cprc->f2fs_issue_ckpt,
- cprc->ckpt_thread_ioprio);
+ if (test_opt(sbi, MERGE_CHECKPOINT)) {
+ ret = set_task_ioprio(cprc->f2fs_issue_ckpt,
+ cprc->ckpt_thread_ioprio);
+ if (ret)
+ return ret;
+ }

return count;
}
--
2.30.0.365.g02bc693789-goog