Messages in this thread | | | Subject | Re: [PATCH] f2fs: fix the size value in __check_sit_bitmap | From | Chao Yu <> | Date | Sat, 5 Aug 2017 13:40:28 +0800 |
| |
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@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.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 > } >
| |