f2fs: do not stop GC when requiring a free section
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 May 2022 20:34:41 +0000 (13:34 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 17 May 2022 18:19:19 +0000 (11:19 -0700)
commitc81d5bae404abc6b257667e84d39b9b50c7063d4
tree0ed9ab5c91bb5178f0d5cd06bd6347806323a912
parentc58d7c55de8bf7afd25d13d6eb8ef68782a51be9
f2fs: do not stop GC when requiring a free section

The f2fs_gc uses a bitmap to indicate pinned sections, but when disabling
chckpoint, we call f2fs_gc() with NULL_SEGNO which selects the same dirty
segment as a victim all the time, resulting in checkpoint=disable failure,
for example. Let's pick another one, if we fail to collect it.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/segment.c
fs/f2fs/super.c
include/trace/events/f2fs.h