[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0f1a4338-9aa7-5427-6ca2-2102027cf3c4@kernel.org>
Date: Sat, 5 Aug 2017 13:40:28 +0800
From: Chao Yu <chao@...nel.org>
To: Yunlong Song <yunlong.song@...wei.com>, jaegeuk@...nel.org,
yuchao0@...wei.com, yunlong.song@...oud.com
Cc: miaoxie@...wei.com, bintian.wang@...wei.com,
linux-fsdevel@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net,
linux-kernel@...r.kernel.org, chao@...nel.org
Subject: Re: [PATCH] f2fs: fix the size value in __check_sit_bitmap
On 2017/8/4 17:07, Yunlong Song wrote:
> The current size value is not correct and will miss bitmap check.
>
> Signed-off-by: Yunlong Song <yunlong.song@...wei.com>
Reviewed-by: Chao Yu <yuchao0@...wei.com>
> ---
> fs/f2fs/segment.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index f336f8c..45fb534 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -787,11 +787,14 @@ void __check_sit_bitmap(struct f2fs_sb_info *sbi,
> sentry = get_seg_entry(sbi, segno);
> offset = GET_BLKOFF_FROM_SEG0(sbi, blk);
>
> - size = min((unsigned long)(end - blk), max_blocks);
> + if (end < START_BLOCK(sbi, segno + 1))
> + size = GET_BLKOFF_FROM_SEG0(sbi, end);
> + else
> + size = max_blocks;
> map = (unsigned long *)(sentry->cur_valid_map);
> offset = __find_rev_next_bit(map, size, offset);
> f2fs_bug_on(sbi, offset != size);
> - blk += size;
> + blk = START_BLOCK(sbi, segno + 1);
> }
> #endif
> }
>
Powered by blists - more mailing lists