We should avoid wrong checkpoints when there is no dirty segments. Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> --- fs/f2fs/gc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index fcb263a..c4ed116 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -809,13 +809,14 @@ gc_more: if (unlikely(f2fs_cp_error(sbi))) goto stop; + if (!__get_victim(sbi, &segno, gc_type)) + goto stop; + if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) { gc_type = FG_GC; write_checkpoint(sbi, &cpc); } - if (!__get_victim(sbi, &segno, gc_type)) - goto stop; ret = 0; /* readahead multi ssa blocks those have contiguous address */ -- 2.1.1 ------------------------------------------------------------------------------ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel