[PROBLEM linux-next] fs/reiserfs/do_balan.c:1147:13: error: variable ‘leaf_mi’ set but not used [-Werror=unused-but-set-variable]

From: Mirsad Todorovac
Date: Wed Jul 10 2024 - 14:09:42 EST


Dear all,

On the linux-next vanilla next-20240709 tree, I have attempted the seed KCONFIG_SEED=0xEE7AB52F
which was known from before to trigger various errors in compile and build process.

Though this might seem as contributing to channel noise, Linux refuses to build this config,
treating warnings as errors, using this build line:

$ time nice make W=1 -k -j 36 |& tee ../err-next-20230709-01a.log; date

As I know that the Chief Penguin doesn't like warnings, but I am also aware that there are plenty
left, there seems to be more tedious work ahead to make the compilers happy.

The compiler output is:

---------------------------------------------------------------------------------------------------------
fs/reiserfs/do_balan.c: In function ‘balance_leaf_new_nodes_paste_whole’:
fs/reiserfs/do_balan.c:1147:13: error: variable ‘leaf_mi’ set but not used [-Werror=unused-but-set-variable]
1147 | int leaf_mi;
| ^~~~~~~
CC fs/reiserfs/lbalance.o
fs/reiserfs/fix_node.c: In function ‘dc_check_balance_leaf’:
fs/reiserfs/fix_node.c:1938:13: error: variable ‘maxsize’ set but not used [-Werror=unused-but-set-variable]
1938 | int maxsize, ret;
| ^~~~~~~
fs/reiserfs/fix_node.c:1935:13: error: variable ‘levbytes’ set but not used [-Werror=unused-but-set-variable]
1935 | int levbytes;
| ^~~~~~~~
fs/reiserfs/prints.c: In function ‘prepare_error_buf’:
fs/reiserfs/prints.c:221:17: error: function ‘prepare_error_buf’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
221 | p += vscnprintf(p, end - p, fmt1, args);
| ^
fs/reiserfs/prints.c:260:9: error: function ‘prepare_error_buf’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
260 | p += vscnprintf(p, end - p, fmt1, args);
| ^
make[4]: Target 'arch/x86/kernel/' not remade because of errors.
make[3]: *** [scripts/Makefile.build:485: arch/x86/kernel] Error 2
make[3]: Target 'arch/x86/' not remade because of errors.
make[2]: *** [scripts/Makefile.build:485: arch/x86] Error 2
fs/reiserfs/lbalance.c: In function ‘leaf_copy_items’:
fs/reiserfs/lbalance.c:524:29: error: variable ‘dest’ set but not used [-Werror=unused-but-set-variable]
524 | struct buffer_head *dest;
| ^~~~
cc1: all warnings being treated as errors
make[4]: *** [scripts/Makefile.build:244: fs/reiserfs/do_balan.o] Error 1
cc1: all warnings being treated as errors
make[4]: *** [scripts/Makefile.build:244: fs/reiserfs/prints.o] Error 1
cc1: all warnings being treated as errors
make[4]: *** [scripts/Makefile.build:244: fs/reiserfs/fix_node.o] Error 1
---------------------------------------------------------------------------------------------------------

In fs/reiserfs/fix_node.c:1938:13, fs/reiserfs/fix_node.c:1935:13, and fs/reiserfs/lbalance.c:524:29,
the problem seem to lie within the construct RFALSE(), like

521 static int leaf_copy_items(struct buffer_info *dest_bi, struct buffer_head *src,
522 int last_first, int cpy_num, int cpy_bytes)
523 {
524 struct buffer_head *dest;
525 int pos, i, src_nr_item, bytes;
526
527 dest = dest_bi->bi_bh;
528 RFALSE(!dest || !src, "vs-10210: !dest || !src");
529 RFALSE(last_first != FIRST_TO_LAST && last_first != LAST_TO_FIRST,
530 "vs-10220:last_first != FIRST_TO_LAST && last_first != LAST_TO_FIRST");
531 RFALSE(B_NR_ITEMS(src) < cpy_num,
532 "vs-10230: No enough items: %d, req. %d", B_NR_ITEMS(src),
533 cpy_num);
534 RFALSE(cpy_num < 0, "vs-10240: cpy_num < 0 (%d)", cpy_num);

Hope this helps.

Best regards,
Mirsad Todorovac