lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 27 Mar 2023 11:21:46 +0200
From:   Jan Kara <jack@...e.cz>
To:     Baokun Li <libaokun1@...wei.com>
Cc:     linux-ext4@...r.kernel.org, tytso@....edu,
        adilger.kernel@...ger.ca, jack@...e.cz, ritesh.list@...il.com,
        linux-kernel@...r.kernel.org, yi.zhang@...wei.com,
        yangerkun@...wei.com, yukuai3@...wei.com
Subject: Re: [PATCH v2 2/2] ext4: refactoring to use the unified helper
 ext4_quotas_off()

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@...wei.com>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@...e.cz>

								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@...e.com>
SUSE Labs, CR

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ