[PATCH 3/5] f2fs: keep wait_ms if EAGAIN happens

From: Jaegeuk Kim
Date: Fri May 06 2022 - 19:20:52 EST


In f2fs_gc thread, let's keep wait_ms when sec_freed was zero.

Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/gc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index aeffcc1d5c02..ec3f6f876e76 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -37,7 +37,8 @@ static int gc_thread_func(void *data)
unsigned int wait_ms;
struct f2fs_gc_control gc_control = {
.victim_segno = NULL_SEGNO,
- .should_migrate_blocks = false };
+ .should_migrate_blocks = false,
+ .err_gc_skipped = false };

wait_ms = gc_th->min_sleep_time;

@@ -146,7 +147,6 @@ static int gc_thread_func(void *data)

gc_control.init_gc_type = sync_mode ? FG_GC : BG_GC;
gc_control.no_bg_gc = foreground;
- gc_control.err_gc_skipped = sync_mode;

/* if return value is not zero, no victim was selected */
if (f2fs_gc(sbi, &gc_control))
--
2.36.0.512.ge40c2bad7a-goog