When building for a 32-bit target, for which 'size_t' is 'unsigned int',
there are two warnings around mismatched format specifiers and argument
types:

  In file included from fs/bcachefs/vstructs.h:5,
                   from fs/bcachefs/bcachefs_format.h:79,
                   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:1046:25: error: format '%lu' expects argument 
of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned 
int'} [-Werror=format=]
   1046 |         prt_printf(out, "nonpcpu freelist:\t%lu\r\n",   
bc->nr_freed_nonpcpu);
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~    
~~~~~~~~~~~~~~~~~~~~
        |                                                           |
        |                                                           size_t {aka 
unsigned int}
  fs/bcachefs/util.h:192:63: note: in definition of macro 'prt_printf'
    192 | #define prt_printf(_out, ...)           bch2_prt_printf(_out, 
__VA_ARGS__)
        |                                                               
^~~~~~~~~~~
  fs/bcachefs/btree_key_cache.c:1046:47: note: format string is defined here
   1046 |         prt_printf(out, "nonpcpu freelist:\t%lu\r\n",   
bc->nr_freed_nonpcpu);
        |                                             ~~^
        |                                               |
        |                                               long unsigned int
        |                                             %u
  fs/bcachefs/btree_key_cache.c:1047:25: error: format '%lu' expects argument 
of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned 
int'} [-Werror=format=]
   1047 |         prt_printf(out, "pcpu freelist:\t%lu\r\n",      
bc->nr_freed_pcpu);
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~       
~~~~~~~~~~~~~~~~~
        |                                                           |
        |                                                           size_t {aka 
unsigned int}
  fs/bcachefs/util.h:192:63: note: in definition of macro 'prt_printf'
    192 | #define prt_printf(_out, ...)           bch2_prt_printf(_out, 
__VA_ARGS__)
        |                                                               
^~~~~~~~~~~
  fs/bcachefs/btree_key_cache.c:1047:44: note: format string is defined here
   1047 |         prt_printf(out, "pcpu freelist:\t%lu\r\n",      
bc->nr_freed_pcpu);
        |                                          ~~^
        |                                            |
        |                                            long unsigned int
        |                                          %u
  cc1: all warnings being treated as error

Use the proper 'size_t' specifier, '%zu', to clear up the warnings for
these platforms.

Fixes: f2d47ec26af5 ("bcachefs: Btree key cache instrumentation")
Signed-off-by: Nathan Chancellor <[email protected]>
---
 fs/bcachefs/btree_key_cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c
index 52aada7a34ca..4c8da356f765 100644
--- a/fs/bcachefs/btree_key_cache.c
+++ b/fs/bcachefs/btree_key_cache.c
@@ -1043,8 +1043,8 @@ void bch2_btree_key_cache_to_text(struct printbuf *out, 
struct btree_key_cache *
        prt_printf(out, "keys:\t%lu\r\n",               
atomic_long_read(&bc->nr_keys));
        prt_printf(out, "dirty:\t%lu\r\n",              
atomic_long_read(&bc->nr_dirty));
        prt_printf(out, "freelist:\t%lu\r\n",           
atomic_long_read(&bc->nr_freed));
-       prt_printf(out, "nonpcpu freelist:\t%lu\r\n",   bc->nr_freed_nonpcpu);
-       prt_printf(out, "pcpu freelist:\t%lu\r\n",      bc->nr_freed_pcpu);
+       prt_printf(out, "nonpcpu freelist:\t%zu\r\n",   bc->nr_freed_nonpcpu);
+       prt_printf(out, "pcpu freelist:\t%zu\r\n",      bc->nr_freed_pcpu);
 
        prt_printf(out, "\nshrinker:\n");
        prt_printf(out, "requested_to_free:\t%lu\r\n",  bc->requested_to_free);

---
base-commit: 711f072a8f7f795e63c4f729cc258ba238851333
change-id: 20240423-bcachefs-fix-wformat-32-bit-pcpu-3710fd78ea92

Best regards,
-- 
Nathan Chancellor <[email protected]>


Reply via email to