On Wed, Aug 21, 2024 at 01:43:03PM GMT, Nathan Chancellor wrote:
> When building for a 32-bit architecture, for which 'size_t' is
> 'unsigned int', there is a compiler warning due to use of '%lu':
> 
>   In file included from fs/bcachefs/vstructs.h:5,
>                    from fs/bcachefs/bcachefs_format.h:80,
>                    from fs/bcachefs/bcachefs.h:207,
>                    from fs/bcachefs/btree_key_cache.c:3:
>   fs/bcachefs/btree_key_cache.c: In function 'bch2_btree_key_cache_to_text':
>   fs/bcachefs/btree_key_cache.c:795:25: error: format '%lu' expects argument 
> of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned 
> int'} [-Werror=format=]
>     795 |         prt_printf(out, "pending:\t%lu\r\n",            
> per_cpu_sum(bc->nr_pending));
>         |                         ^~~~~~~~~~~~~~~~~~~
>   fs/bcachefs/util.h:78:63: note: in definition of macro 'prt_printf'
>      78 | #define prt_printf(_out, ...)           bch2_prt_printf(_out, 
> __VA_ARGS__)
>         |                                                               
> ^~~~~~~~~~~
>   fs/bcachefs/btree_key_cache.c:795:38: note: format string is defined here
>     795 |         prt_printf(out, "pending:\t%lu\r\n",            
> per_cpu_sum(bc->nr_pending));
>         |                                    ~~^
>         |                                      |
>         |                                      long unsigned int
>         |                                    %u
>   cc1: all warnings being treated as errors
> 
> Use the proper specifier, '%zu', to resolve the warning.
> 
> Fixes: e447e49977b8 ("bcachefs: key cache can now allocate from pending")
> Signed-off-by: Nathan Chancellor <nat...@kernel.org>

Applied

Reply via email to