diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 83cec8f868c65ab63f185ec437ad64763953e2bd..37b05e1c574ca4dcd9821ae2fdfd60f345028b3e 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -669,8 +669,10 @@ int f2fs_gc(struct f2fs_sb_info *sbi) if (!(sbi->sb->s_flags & MS_ACTIVE)) goto stop; - if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) + if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) { gc_type = FG_GC; + write_checkpoint(sbi, false); + } if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE)) goto stop;