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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to