Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35a9a766 authored by Sheng Yong's avatar Sheng Yong Committed by Jaegeuk Kim
Browse files

f2fs: clear discard_wake earlier



If SBI_NEED_FSCK is set, discard_wake will never be cleared. As a
result, the condition of wait_event_interruptible_timeout() is always
true, which gets discard thread run too frequently.

Signed-off-by: default avatarSheng Yong <shengyong1@huawei.com>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent f9d1dced
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1402,6 +1402,10 @@ static int issue_discard_thread(void *data)
				kthread_should_stop() || freezing(current) ||
				dcc->discard_wake,
				msecs_to_jiffies(wait_ms));

		if (dcc->discard_wake)
			dcc->discard_wake = 0;

		if (try_to_freeze())
			continue;
		if (f2fs_readonly(sbi->sb))
@@ -1413,9 +1417,6 @@ static int issue_discard_thread(void *data)
			continue;
		}

		if (dcc->discard_wake)
			dcc->discard_wake = 0;

		if (sbi->gc_mode == GC_URGENT)
			__init_discard_policy(sbi, &dpolicy, DPOLICY_FORCE, 1);