On 2017年12月06日 22:18, Arnd Bergmann wrote: > The return value of sizeof() is of type size_t, so we must print it > using the %z format modifier rather than %l to avoid this warning > on some architectures: > > fs/btrfs/tree-checker.c: In function 'check_dir_item': > fs/btrfs/tree-checker.c:273:50: error: format '%lu' expects argument of type > 'long unsigned int', but argument 5 has type 'u32' {aka 'unsigned int'} > [-Werror=format=]
Any idea about which architecture will cause such warning? On x86_64 I always fail to get such warning. > > Fixes: 005887f2e3e0 ("btrfs: tree-checker: Add checker for dir item") Reviewed-by: Qu Wenruo <w...@suse.com> Thanks, Qu > Signed-off-by: Arnd Bergmann <a...@arndb.de> > --- > fs/btrfs/tree-checker.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c > index 66dac0a4b01f..7c55e3ba5a6c 100644 > --- a/fs/btrfs/tree-checker.c > +++ b/fs/btrfs/tree-checker.c > @@ -270,7 +270,7 @@ static int check_dir_item(struct btrfs_root *root, > /* header itself should not cross item boundary */ > if (cur + sizeof(*di) > item_size) { > dir_item_err(root, leaf, slot, > - "dir item header crosses item boundary, have %lu boundary %u", > + "dir item header crosses item boundary, have %zu boundary %u", > cur + sizeof(*di), item_size); > return -EUCLEAN; > } >
signature.asc
Description: OpenPGP digital signature