On Mon 27-03-23 10:27:03, Baokun Li wrote:
> Rename ext4_quota_off_umount() to ext4_quotas_off(), and add type
> parameter to replace open code in ext4_enable_quotas().
>
> Signed-off-by: Baokun Li <[email protected]>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <[email protected]>
Honza
> ---
> V1->V2:
> Adapting to the changes in PATCH 1/2.
>
> fs/ext4/super.c | 26 +++++++-------------------
> 1 file changed, 7 insertions(+), 19 deletions(-)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index bd1ca1c3022e..59c5dd4dbe5a 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1157,12 +1157,12 @@ static void dump_orphan_list(struct super_block *sb, struct ext4_sb_info *sbi)
> #ifdef CONFIG_QUOTA
> static int ext4_quota_off(struct super_block *sb, int type);
>
> -static inline void ext4_quota_off_umount(struct super_block *sb)
> +static inline void ext4_quotas_off(struct super_block *sb, int type)
> {
> - int type;
> + BUG_ON(type > EXT4_MAXQUOTAS);
>
> /* Use our quota_off function to clear inode flags etc. */
> - for (type = 0; type < EXT4_MAXQUOTAS; type++)
> + for (type--; type >= 0; type--)
> ext4_quota_off(sb, type);
> }
>
> @@ -1178,7 +1178,7 @@ static inline char *get_qf_name(struct super_block *sb,
> lockdep_is_held(&sb->s_umount));
> }
> #else
> -static inline void ext4_quota_off_umount(struct super_block *sb)
> +static inline void ext4_quotas_off(struct super_block *sb, int type)
> {
> }
> #endif
> @@ -1209,7 +1209,7 @@ static void ext4_put_super(struct super_block *sb)
> &sb->s_uuid);
>
> ext4_unregister_li_request(sb);
> - ext4_quota_off_umount(sb);
> + ext4_quotas_off(sb, EXT4_MAXQUOTAS);
>
> flush_work(&sbi->s_error_work);
> destroy_workqueue(sbi->rsv_conversion_wq);
> @@ -5541,7 +5541,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
>
> failed_mount10:
> #ifdef CONFIG_QUOTA
> - ext4_quota_off_umount(sb);
> + ext4_quotas_off(sb, EXT4_MAXQUOTAS);
> failed_mount9:
> #endif /* CONFIG_QUOTA */
> ext4_release_orphan_info(sb);
> @@ -7014,20 +7014,8 @@ int ext4_enable_quotas(struct super_block *sb)
> "(type=%d, err=%d, ino=%lu). "
> "Please run e2fsck to fix.", type,
> err, qf_inums[type]);
> - for (type--; type >= 0; type--) {
> - struct inode *inode;
> -
> - inode = sb_dqopt(sb)->files[type];
> - if (inode)
> - inode = igrab(inode);
> - dquot_quota_off(sb, type);
> - if (inode) {
> - lockdep_set_quota_inode(inode,
> - I_DATA_SEM_NORMAL);
> - iput(inode);
> - }
> - }
>
> + ext4_quotas_off(sb, type);
> return err;
> }
> }
> --
> 2.31.1
>
--
Jan Kara <[email protected]>
SUSE Labs, CR