Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1586645

Re: [PATCH] f2fs: clean up codes in f2fs_gc related with write_checkpoint

From Jaegeuk Kim <jaegeuk@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH] f2fs: clean up codes in f2fs_gc related with write_checkpoint
Date 2017-02-23 06:00 +0100
Message-ID <tdTFv-4xm-1@gated-at.bofh.it> (permalink)
References <tdhTA-2y5-5@gated-at.bofh.it> <tdRNo-32u-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 02/23, Yunlong Song wrote:
> Ping...
> 
> 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, and segno is NULL_SEGNO in both conditions.

Looks good to me, but applied like below.

From 49aea5513fd20d29dace9067de2e931d03ae2202 Mon Sep 17 00:00:00 2001
From: Yunlong Song <yunlong.song@huawei.com>
Date: Tue, 21 Feb 2017 20:43:48 +0800
Subject: [PATCH] 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>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/gc.c | 12 +++---------
 1 file 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 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, bool background)
 		 * 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;
-- 
2.11.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] f2fs: clean up codes in f2fs_gc related with write_checkpoint Yunlong Song <yunlong.song@huawei.com> - 2017-02-21 13:40 +0100
  Re: [PATCH] f2fs: clean up codes in f2fs_gc related with  write_checkpoint Yunlong Song <yunlong.song@huawei.com> - 2017-02-23 04:00 +0100
    Re: [PATCH] f2fs: clean up codes in f2fs_gc related with  write_checkpoint Jaegeuk Kim <jaegeuk@kernel.org> - 2017-02-23 06:00 +0100
  Re: [PATCH] f2fs: clean up codes in f2fs_gc related with  write_checkpoint Chao Yu <yuchao0@huawei.com> - 2017-02-24 02:50 +0100

csiph-web