f2fs: skip GC when section is full
authorJaegeuk Kim <jaegeuk@kernel.org>
Sun, 9 Feb 2020 21:23:28 +0000 (13:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 08:38:19 +0000 (10:38 +0200)
[ Upstream commit 2bac07635ddf9ed59268e61e415d8de9c5eaded7 ]

This fixes skipping GC when segment is full in large section.

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

index 2f645c591a0008af5a8900a6436227a86932bbfc..3cced15efebc263ec6b0093963c6ece3e4187519 100644 (file)
@@ -1018,8 +1018,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)