diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-04-08 03:01:00 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-04-09 05:21:24 -0400 |
commit | d64f80473bb58f5c8bfcb63220c31a573a07752f (patch) | |
tree | bbbe391a029a04b9f0ab3cf2ad16ac99096d6de6 /fs/f2fs | |
parent | 3315101f7070013d01bb5396c6bde07b3a8bcbd8 (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.c | 4 |
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; |