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  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:   Wed, 13 May 2020 13:25:18 +0200
From:   Jan Kara <jack@...e.cz>
To:     ira.weiny@...el.com
Cc:     linux-ext4@...r.kernel.org,
        Andreas Dilger <adilger.kernel@...ger.ca>,
        "Theodore Y. Ts'o" <tytso@....edu>, Jan Kara <jack@...e.cz>,
        Al Viro <viro@...iv.linux.org.uk>,
        Dan Williams <dan.j.williams@...el.com>,
        Dave Chinner <david@...morbit.com>,
        Christoph Hellwig <hch@....de>, Jeff Moyer <jmoyer@...hat.com>,
        "Darrick J. Wong" <darrick.wong@...cle.com>,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/9] fs/ext4: Change EXT4_MOUNT_DAX to
 EXT4_MOUNT_DAX_ALWAYS

On Tue 12-05-20 22:43:19, ira.weiny@...el.com wrote:
> From: Ira Weiny <ira.weiny@...el.com>
> 
> In prep for the new tri-state mount option which then introduces
> EXT4_MOUNT_DAX_NEVER.
> 
> Signed-off-by: Ira Weiny <ira.weiny@...el.com>

Looks good to me. You can add:

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

								Honza

> 
> ---
> Changes:
> 	New patch
> ---
>  fs/ext4/ext4.h  |  4 ++--
>  fs/ext4/inode.c |  2 +-
>  fs/ext4/super.c | 12 ++++++------
>  3 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 91eb4381cae5..1a3daf2d18ef 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -1123,9 +1123,9 @@ struct ext4_inode_info {
>  #define EXT4_MOUNT_MINIX_DF		0x00080	/* Mimics the Minix statfs */
>  #define EXT4_MOUNT_NOLOAD		0x00100	/* Don't use existing journal*/
>  #ifdef CONFIG_FS_DAX
> -#define EXT4_MOUNT_DAX			0x00200	/* Direct Access */
> +#define EXT4_MOUNT_DAX_ALWAYS		0x00200	/* Direct Access */
>  #else
> -#define EXT4_MOUNT_DAX			0
> +#define EXT4_MOUNT_DAX_ALWAYS		0
>  #endif
>  #define EXT4_MOUNT_DATA_FLAGS		0x00C00	/* Mode for data writes: */
>  #define EXT4_MOUNT_JOURNAL_DATA		0x00400	/* Write data to journal */
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 2a4aae6acdcb..a10ff12194db 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -4400,7 +4400,7 @@ int ext4_get_inode_loc(struct inode *inode, struct ext4_iloc *iloc)
>  
>  static bool ext4_should_use_dax(struct inode *inode)
>  {
> -	if (!test_opt(inode->i_sb, DAX))
> +	if (!test_opt(inode->i_sb, DAX_ALWAYS))
>  		return false;
>  	if (!S_ISREG(inode->i_mode))
>  		return false;
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 9873ab27e3fa..d0434b513919 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1767,7 +1767,7 @@ static const struct mount_opts {
>  	{Opt_min_batch_time, 0, MOPT_GTE0},
>  	{Opt_inode_readahead_blks, 0, MOPT_GTE0},
>  	{Opt_init_itable, 0, MOPT_GTE0},
> -	{Opt_dax, EXT4_MOUNT_DAX, MOPT_SET},
> +	{Opt_dax, EXT4_MOUNT_DAX_ALWAYS, MOPT_SET},
>  	{Opt_stripe, 0, MOPT_GTE0},
>  	{Opt_resuid, 0, MOPT_GTE0},
>  	{Opt_resgid, 0, MOPT_GTE0},
> @@ -3974,7 +3974,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
>  				 "both data=journal and dioread_nolock");
>  			goto failed_mount;
>  		}
> -		if (test_opt(sb, DAX)) {
> +		if (test_opt(sb, DAX_ALWAYS)) {
>  			ext4_msg(sb, KERN_ERR, "can't mount with "
>  				 "both data=journal and dax");
>  			goto failed_mount;
> @@ -4084,7 +4084,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
>  		goto failed_mount;
>  	}
>  
> -	if (sbi->s_mount_opt & EXT4_MOUNT_DAX) {
> +	if (sbi->s_mount_opt & EXT4_MOUNT_DAX_ALWAYS) {
>  		if (ext4_has_feature_inline_data(sb)) {
>  			ext4_msg(sb, KERN_ERR, "Cannot use DAX on a filesystem"
>  					" that may contain inline data");
> @@ -5404,7 +5404,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
>  			err = -EINVAL;
>  			goto restore_opts;
>  		}
> -		if (test_opt(sb, DAX)) {
> +		if (test_opt(sb, DAX_ALWAYS)) {
>  			ext4_msg(sb, KERN_ERR, "can't mount with "
>  				 "both data=journal and dax");
>  			err = -EINVAL;
> @@ -5425,10 +5425,10 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
>  		goto restore_opts;
>  	}
>  
> -	if ((sbi->s_mount_opt ^ old_opts.s_mount_opt) & EXT4_MOUNT_DAX) {
> +	if ((sbi->s_mount_opt ^ old_opts.s_mount_opt) & EXT4_MOUNT_DAX_ALWAYS) {
>  		ext4_msg(sb, KERN_WARNING, "warning: refusing change of "
>  			"dax flag with busy inodes while remounting");
> -		sbi->s_mount_opt ^= EXT4_MOUNT_DAX;
> +		sbi->s_mount_opt ^= EXT4_MOUNT_DAX_ALWAYS;
>  	}
>  
>  	if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED)
> -- 
> 2.25.1
> 
-- 
Jan Kara <jack@...e.com>
SUSE Labs, CR

Powered by blists - more mailing lists