summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/gc.c
diff options
context:
space:
mode:
authorYunlong Song <yunlong.song@huawei.com>2017-02-21 20:43:48 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2017-02-27 09:59:50 -0800
commit77190e1f313f5ef18a3742aa4c5b790456a5825b (patch)
tree5d6c18303057f770c80cd53ef9e1d450d2fda717 /fs/f2fs/gc.c
parent92592285710aebe2de9afa38315b5c3914556905 (diff)
downloadlinux-77190e1f313f5ef18a3742aa4c5b790456a5825b.tar.bz2
f2fs: remove unnecessary condition check for write_checkpoint in f2fs_gc
Since has_not_enough_free_secs(sbi, 0, 0) must be true if has_not_enough_ free_secs(sbi, sec_freed, 0) is true, write_checkpoint is sure to execute in both conditions. Signed-off-by: Yunlong Song <yunlong.song@huawei.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/gc.c')
-rw-r--r--fs/f2fs/gc.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 11416c7cb705..6c996e39b59a 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -958,15 +958,9 @@ gc_more:
* enough free sections, we should flush dent/node blocks and do
* garbage collections.
*/
- if (dirty_segments(sbi) || prefree_segments(sbi)) {
- ret = write_checkpoint(sbi, &cpc);
- if (ret)
- goto stop;
- } else if (has_not_enough_free_secs(sbi, 0, 0)) {
- ret = write_checkpoint(sbi, &cpc);
- if (ret)
- goto stop;
- }
+ ret = write_checkpoint(sbi, &cpc);
+ if (ret)
+ goto stop;
} else if (gc_type == BG_GC && !background) {
/* f2fs_balance_fs doesn't need to do BG_GC in critical path. */
goto stop;