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

From: Jan Kara
Date: Mon Apr 24 2023 - 12:25:45 EST


On Thu 20-04-23 09:51:24, Nathan Chancellor 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>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> fs/ext4/super.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 403cc0e6cd65..f16492b8c98d 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1259,7 +1259,7 @@ static void ext4_put_super(struct super_block *sb)
> struct ext4_sb_info *sbi = EXT4_SB(sb);
> struct ext4_super_block *es = sbi->s_es;
> int aborted = 0;
> - int i, err;
> + int err;
>
> /*
> * Unregister sysfs before destroying jbd2 journal.
> @@ -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++)
> kfree(get_qf_name(sb, sbi, i));
> #endif
>
> @@ -5197,7 +5197,6 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
> ext4_fsblk_t logical_sb_block;
> struct inode *root;
> int ret = -ENOMEM;
> - unsigned int i;
> int needs_recovery;
> int err = 0;
> ext4_group_t first_not_zeroed;
> @@ -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++)
> kfree(get_qf_name(sb, sbi, i));
> #endif
> fscrypt_free_dummy_policy(&sbi->s_dummy_enc_policy);
>
> ---
> base-commit: 519fe1bae7e20fc4e7f179d50b6102b49980e85d
> change-id: 20230420-ext4-unused-variables-super-c-cabda558d931
>
> Best regards,
> --
> Nathan Chancellor <nathan@xxxxxxxxxx>
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR