Re: [PATCH v2 2/2] ext4: refactoring to use the unified helper ext4_quotas_off()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <libaokun1@xxxxxxxxxx>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

								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 <jack@xxxxxxxx>
SUSE Labs, CR



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux