Re: [PATCH v3 1/6] fat: add i_disksize to represent uninitialized size

From: OGAWA Hirofumi
Date: Tue Feb 04 2014 - 09:51:06 EST


Namjae Jeon <linkinjeon@xxxxxxxxx> writes:

> 2014-02-03, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>:
>> Namjae Jeon <linkinjeon@xxxxxxxxx> writes:
>>
>>> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
>>>
>>> Add i_disksize to represent uninitialized allocated size.
>>> And mmu_private represent initialized allocated size.
>>
>> Don't we need to update ->i_disksize after cont_write_begin()?
> We don't need to update i_disksize after cont_write_begin.
> It is taken care by the fat_get_block after the allocation.
> For all write paths we align the mmu_private and i_disksize from
> fat_fill_inode and fat_get_block.

fat_fill_inode() just set i_disksize to i_size. So, it is not aligned by
cluster size or block size.

E.g. ->mmu_private = 500. Then, cont_write_begin() can set ->mmu_private
to 512 on some case. In this case, fat_get_block() will not be called,
because no new allocation.

If this is true, it would be possible to have ->mmu_private == 512 and
->i_disksize == 500.

I'm missing something?

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/