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
---
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(>nr_keys));
prt_printf(out, "dirty:\t%lu\r\n",
atomic_long_read(>nr_dirty));
prt_printf(out, "freelist:\t%lu\r\n",
atomic_long_read(>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