On Tue, Aug 27, 2024 at 04:15:05PM -0700, Nathan Chancellor wrote: > When building for a 32-bit architecture, where 'size_t' is 'unsigned > int', there is a warning due to use of '%ld', the specifier for a 'long > int': > > In file included from fs/xfs/xfs_linux.h:82, > from fs/xfs/xfs.h:26, > from fs/xfs/xfs_super.c:7: > fs/xfs/xfs_super.c: In function 'xfs_fs_fill_super': > fs/xfs/xfs_super.c:1654:1: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'size_t' {aka 'unsigned int'} [-Werror=format=] > 1654 | "block size (%u bytes) not supported; Only block size (%ld) or less is supported", > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1655 | mp->m_sb.sb_blocksize, max_folio_size); > | ~~~~~~~~~~~~~~ > | | > | size_t {aka unsigned int} > ... > fs/xfs/xfs_super.c:1654:58: note: format string is defined here > 1654 | "block size (%u bytes) not supported; Only block size (%ld) or less is supported", > | ~~^ > | | > | long int > | %d > > Use the proper 'size_t' specifier, '%zu', to resolve the warning. > > Fixes: 0ab3ca31b012 ("xfs: enable block size larger than page size support") > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> Reviewed-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> Luis