On Thu, Apr 20, 2023 at 6:56 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > When CONFIG_QUOTA is disabled, there are warnings around unused iterator > variables: > > fs/ext4/super.c: In function 'ext4_put_super': > fs/ext4/super.c:1262:13: error: unused variable 'i' [-Werror=unused-variable] > 1262 | int i, err; > | ^ > fs/ext4/super.c: In function '__ext4_fill_super': > fs/ext4/super.c:5200:22: error: unused variable 'i' [-Werror=unused-variable] > 5200 | unsigned int i; > | ^ > cc1: all warnings being treated as errors > > The kernel has updated to gnu11, allowing the variables to be declared > within the for loop. Do so to clear up the warnings. > > Fixes: dcbf87589d90 ("ext4: factor out ext4_flex_groups_free()") > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -1311,7 +1311,7 @@ static void ext4_put_super(struct super_block *sb) > ext4_flex_groups_free(sbi); > ext4_percpu_param_destroy(sbi); > #ifdef CONFIG_QUOTA > - for (i = 0; i < EXT4_MAXQUOTAS; i++) > + for (int i = 0; i < EXT4_MAXQUOTAS; i++) int > kfree(get_qf_name(sb, sbi, i)); > #endif > > @@ -5628,7 +5627,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb) > #endif > > #ifdef CONFIG_QUOTA > - for (i = 0; i < EXT4_MAXQUOTAS; i++) > + for (unsigned int i = 0; i < EXT4_MAXQUOTAS; i++) unsigned int > kfree(get_qf_name(sb, sbi, i)); > #endif > fscrypt_free_dummy_policy(&sbi->s_dummy_enc_policy); I do see an opportunity to make this more consistent. get_qf_name() takes an int for the last parameter, but that should probably become unsigned int? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds