Re: [PATCH] ext4: Fix unused iterator variable warnings

From: Geert Uytterhoeven
Date: Thu Apr 27 2023 - 08:36:33 EST


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