[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <58AE4E69.1050104@huawei.com>
Date: Thu, 23 Feb 2017 10:52:25 +0800
From: Yunlong Song <yunlong.song@...wei.com>
To: <jaegeuk@...nel.org>, <cm224.lee@...sung.com>,
<yuchao0@...wei.com>, <chao@...nel.org>, <sylinux@....com>,
<miaoxie@...wei.com>
CC: <bintian.wang@...wei.com>, <linux-fsdevel@...r.kernel.org>,
<linux-f2fs-devel@...ts.sourceforge.net>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] f2fs: clean up codes in f2fs_gc related with
write_checkpoint
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.
On 2017/2/21 20:43, Yunlong Song wrote:
> Signed-off-by: Yunlong Song <yunlong.song@...wei.com>
> ---
> fs/f2fs/gc.c | 16 ++++------------
> 1 file changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
> index 88e5e7b..e5f2569 100644
> --- a/fs/f2fs/gc.c
> +++ b/fs/f2fs/gc.c
> @@ -943,23 +943,15 @@ 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 (__get_victim(sbi, &segno, gc_type) ||
> - prefree_segments(sbi)) {
> - ret = write_checkpoint(sbi, &cpc);
> - if (ret)
> - goto stop;
> - segno = NULL_SEGNO;
> - } 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;
> }
>
> - if (segno == NULL_SEGNO && !__get_victim(sbi, &segno, gc_type))
> + if (!__get_victim(sbi, &segno, gc_type))
> goto stop;
> ret = 0;
>
--
Thanks,
Yunlong Song
Powered by blists - more mailing lists