f2fs: turn off one_time when forcibly set to foreground GC
authorDaeho Jeong <daehojeong@google.com>
Fri, 6 Jun 2025 18:49:04 +0000 (11:49 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 23 Jun 2025 22:13:01 +0000 (22:13 +0000)
one_time mode is only for background GC. So, we need to set it back to
false when foreground GC is enforced.

Fixes: 9748c2ddea4a ("f2fs: do FG_GC when GC boosting is required for zoned devices")
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/gc.c

index 439f0153c24ee5de01fa9eec338eefbc65d96d97..30b95ebb449919c2f991e7b53b19785887ec86de 100644 (file)
@@ -1891,6 +1891,7 @@ gc_more:
        /* Let's run FG_GC, if we don't have enough space. */
        if (has_not_enough_free_secs(sbi, 0, 0)) {
                gc_type = FG_GC;
+               gc_control->one_time = false;
 
                /*
                 * For example, if there are many prefree_segments below given