Re: linux-next: build warning after merge of the block tree

From: Chao Yu
Date: Thu Apr 18 2019 - 21:14:25 EST


On 2019/4/18 22:01, Jaegeuk Kim wrote:
> On 04/18, Chao Yu wrote:
>> On 2019/4/17 22:03, Jaegeuk Kim wrote:
>>> On 04/17, Chao Yu wrote:
>>>> Hi Jaegeuk,
>>>>
>>>> On 2019/4/17 10:31, Stephen Rothwell wrote:
>>>>> Hi all,
>>>>>
>>>>> After merging the block tree, today's linux-next build (x86_64
>>>>> allmodconfig) produced this warning:
>>>>>
>>>>> fs/f2fs/node.c: In function 'f2fs_remove_inode_page':
>>>>> fs/f2fs/node.c:1193:47: warning: format '%zu' expects argument of type 'size_t', but argument 5 has type 'blkcnt_t' {aka 'long long unsigned int'} [-Wformat=]
>>>>> "Inconsistent i_blocks, ino:%lu, iblocks:%zu",
>>>>> ~~^
>>>>> %llu
>>>>> inode->i_ino, inode->i_blocks);
>>>>> ~~~~~~~~~~~~~~~
>>>>
>>>> Could you please help to fix that as below in your dev branch directly?
>>>>
>>>> "Inconsistent i_blocks, ino:%lu, iblocks:%llu",
>>>
>>> We can just use "%lu"?
>>
>> We'd better follow sample in Documentation/core-api/printk-formats.rst:
>>
>> If <type> is dependent on a config option for its size (e.g., sector_t,
>> blkcnt_t) or is architecture-dependent for its size (e.g., tcflag_t), use a
>> format specifier of its largest possible type and explicitly cast to it.
>
> Great, done. :)

Thanks, :)

>
> Thanks,
>
>>
>> Example::
>>
>> printk("test: sector number/total blocks: %llu/%llu\n",
>> (unsigned long long)sector, (unsigned long long)blockcount);
>>
>> Thanks,
>>
>>>
>>>> inode->i_ino, (unsigned long long)inode->i_blocks)
>>>>
>>>>
>>>> It looks that we need to fix below commits as well:
>>>>
>>>> f2fs: fix to avoid panic in dec_valid_block_count()
>>>> f2fs: fix to avoid panic in dec_valid_node_count()
>>>>
>>>> Thanks,
>>>>
>>>>>
>>>>> Introduced by commit
>>>>>
>>>>> 90ae238d9dac ("f2fs: fix to avoid panic in f2fs_remove_inode_page()")
>>>>>
>>>>> from the f2fs tree interacting with commit
>>>>>
>>>>> 72deb455b5ec ("block: remove CONFIG_LBDAF")
>>>>>
>>> .
>>>
> .
>