Messages in this thread | | | Date | Wed, 19 Mar 2014 18:40:20 +0900 | Subject | Re: [PATCH v4 3/6] fat: zero out seek range on _fat_get_block | From | Namjae Jeon <> |
| |
2014-03-18 23:59 GMT+09:00, OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>: > Namjae Jeon <linkinjeon@gmail.com> writes: > >> +static void check_fallocated_region(struct inode *inode, sector_t >> iblock, >> + unsigned long *max_blocks, struct buffer_head *bh_result) >> +{ >> + struct super_block *sb = inode->i_sb; >> + sector_t last_block, disk_block; >> + const unsigned long blocksize = sb->s_blocksize; >> + const unsigned char blocksize_bits = sb->s_blocksize_bits; >> + >> + last_block = (MSDOS_I(inode)->mmu_private + (blocksize - 1)) >> + >> blocksize_bits; >> + disk_block = (MSDOS_I(inode)->i_disksize + (blocksize - 1)) >> + >> blocksize_bits; >> + if (iblock >= last_block && iblock <= disk_block) { > Hi OGAWA. > Maybe off-by-one error. If iblock == disk_block, phys should not be set > by fat_bmap()? Yes, right, iblock == disk_block case is not needed in this condition because fat_bmap don't set to phys when iblock==diskblock.(phys will be 0) So I will change it like this.
if (iblock >= last_block && iblock < disk_block) {
And I will fix your review comments in other patches.
Thanks for review! > -- > OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> >
| |