aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-04-08 03:01:00 -0400
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-04-09 05:21:24 -0400
commitd64f80473bb58f5c8bfcb63220c31a573a07752f (patch)
treebbbe391a029a04b9f0ab3cf2ad16ac99096d6de6 /fs/f2fs
parent3315101f7070013d01bb5396c6bde07b3a8bcbd8 (diff)
f2fs: write checkpoint before starting FG_GC
In order to be aware of prefree and free sections during FG_GC, let's start with write_checkpoint(). Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/gc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 83cec8f868c6..37b05e1c574c 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -669,8 +669,10 @@ gc_more:
669 if (!(sbi->sb->s_flags & MS_ACTIVE)) 669 if (!(sbi->sb->s_flags & MS_ACTIVE))
670 goto stop; 670 goto stop;
671 671
672 if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) 672 if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) {
673 gc_type = FG_GC; 673 gc_type = FG_GC;
674 write_checkpoint(sbi, false);
675 }
674 676
675 if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE)) 677 if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE))
676 goto stop; 678 goto stop;