• Nathan Chancellor's avatar
    bcachefs: Fix -Wformat in bch2_btree_key_cache_to_text() · f7ed15eb
    Nathan Chancellor authored
    When building bcachefs for 32-bit ARM, there is a compiler warning in
    bch2_btree_key_cache_to_text() due to use of an incorrect format
    specifier:
    
      fs/bcachefs/btree_key_cache.c:1060:36: error: format specifies type 'size_t' (aka 'unsigned int') but the argument has type 'long' [-Werror,-Wformat]
       1060 |         prt_printf(out, "nr_freed:\t%zu",       atomic_long_read(&c->nr_freed));
            |                                     ~~~         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                     %ld
      fs/bcachefs/util.h:223:54: note: expanded from macro 'prt_printf'
        223 | #define prt_printf(_out, ...)           bch2_prt_printf(_out, __VA_ARGS__)
            |                                                               ^~~~~~~~~~~
      1 error generated.
    
    On 64-bit architectures, size_t is 'unsigned long', so there is no
    warning when using %zu but on 32-bit architectures, size_t is
    'unsigned int'. Use '%lu' to match the other format specifiers used in
    this function for printing values returned from atomic_long_read().
    
    Fixes: 6d799930ce0f ("bcachefs: btree key cache pcpu freedlist")
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    f7ed15eb
btree_key_cache.c 26.5 KB