summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYunlong Song2017-02-21 13:43:48 +0100
committerJaegeuk Kim2017-02-27 18:59:50 +0100
commit77190e1f313f5ef18a3742aa4c5b790456a5825b (patch)
tree5d6c18303057f770c80cd53ef9e1d450d2fda717
parentf2fs: check discard alignment only for SEQWRITE zones (diff)
downloadkernel-qcow2-linux-77190e1f313f5ef18a3742aa4c5b790456a5825b.tar.gz
kernel-qcow2-linux-77190e1f313f5ef18a3742aa4c5b790456a5825b.tar.xz
kernel-qcow2-linux-77190e1f313f5ef18a3742aa4c5b790456a5825b.zip
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>
-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;