f2fs: skip GC when section is full
authorJaegeuk Kim <jaegeuk@kernel.org>
Sun, 9 Feb 2020 21:23:28 +0000 (13:23 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 19 Mar 2020 18:41:26 +0000 (11:41 -0700)
This fixes skipping GC when segment is full in large section.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/gc.c

index bb0b643..0dfdec4 100644 (file)
@@ -1025,8 +1025,8 @@ next_step:
                 * race condition along with SSR block allocation.
                 */
                if ((gc_type == BG_GC && has_not_enough_free_secs(sbi, 0, 0)) ||
-                               get_valid_blocks(sbi, segno, false) ==
-                                                       sbi->blocks_per_seg)
+                               get_valid_blocks(sbi, segno, true) ==
+                                                       BLKS_PER_SEC(sbi))
                        return submitted;
 
                if (check_valid_map(sbi, segno, off) == 0)