Re: [f2fs-dev] [PATCH] f2fs: expose some sectors to user in inline data or dentry case

From: Chao Yu
Date: Mon Oct 23 2017 - 06:11:46 EST


On 2017/10/20 3:12, Jaegeuk Kim wrote:
> On 10/18, Chao Yu wrote:
>> On 2017/10/18 6:03, Jaegeuk Kim wrote:
>>> On 10/16, Chao Yu wrote:
>>>> On 2017/10/14 1:31, Jaegeuk Kim wrote:
>>>>> If there's some data written through inline data or dentry, we need to shouw
>>>>> st_blocks. This fixes reporting zero blocks even though there is small written
>>>>> data.
>>>>>
>>>>> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
>>>>
>>>> Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>
>>>>
>>>> Thanks,
>>>>
>>>>> ---
>>>>> fs/f2fs/file.c | 5 +++++
>>>>> 1 file changed, 5 insertions(+)
>>>>>
>>>>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>>>>> index 2eb3efe92018..f7be6c394fa8 100644
>>>>> --- a/fs/f2fs/file.c
>>>>> +++ b/fs/f2fs/file.c
>>>>> @@ -698,6 +698,11 @@ int f2fs_getattr(const struct path *path, struct kstat *stat,
>>>>> STATX_ATTR_NODUMP);
>>>>>
>>>>> generic_fillattr(inode, stat);
>>>>> +
>>>>> + /* we need to show initial sectors used for inline_data/dentries */
>>>>> + if (f2fs_has_inline_data(inode) || f2fs_has_inline_dentry(inode))
>>>
>>> FYI;
>>> I added S_ISREG(inode->i_mode) with f2fs_has_inline_data() to avoid quotacheck
>>> error.
>>
>> If this patch is related to quotacheck issue, I doubt that there will be
>> problemetic, in no journalled quota case, fs quota system won't stat blocks
>> in inline file, however, after SPO, when using quotacheck to scan file to
>> recover quota info, blocks of inline file showed in getattr can be stated
>> into quota. That would be inconsistent.
>
> FWIW, quotacheck counts i_blocks via ioctl for normal files. Without this
> modification, xfstests gives an failure on quota cases.

OK, let's fix this issue first. ;)

Thanks,

>
>>
>> Thanks,
>>
>>>
>>>>> + stat->blocks += (stat->size + 511) >> 9;
>>>>> +
>>>>> return 0;
>>>>> }
>>>>>
>>>>>
>>>
>>> .
>>>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
>