2020-11-11 18:33:06

by harshad shirwadkar

[permalink] [raw]
Subject: [PATCH] ext4: handle dax mount option collision

Mount options dax=inode and dax=never collided with fast_commit and
journal checksum. Redefine the mount flags to remove the collision.

Reported-by: Murphy Zhou <[email protected]>
Fixes: 9cb20f94afcd2 ("fs/ext4: Make DAX mount option a tri-state")
Signed-off-by: Harshad Shirwadkar <[email protected]>
---
fs/ext4/ext4.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 1b399cafb15a..bf9429484462 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1231,13 +1231,13 @@ struct ext4_inode_info {
blocks */
#define EXT4_MOUNT2_HURD_COMPAT 0x00000004 /* Support HURD-castrated
file systems */
-#define EXT4_MOUNT2_DAX_NEVER 0x00000008 /* Do not allow Direct Access */
-#define EXT4_MOUNT2_DAX_INODE 0x00000010 /* For printing options only */
-
#define EXT4_MOUNT2_EXPLICIT_JOURNAL_CHECKSUM 0x00000008 /* User explicitly
specified journal checksum */

#define EXT4_MOUNT2_JOURNAL_FAST_COMMIT 0x00000010 /* Journal fast commit */
+#define EXT4_MOUNT2_DAX_NEVER 0x00000020 /* Do not allow Direct Access */
+#define EXT4_MOUNT2_DAX_INODE 0x00000040 /* For printing options only */
+

#define clear_opt(sb, opt) EXT4_SB(sb)->s_mount_opt &= \
~EXT4_MOUNT_##opt
--
2.29.2.222.g5d2a92d10f8-goog


2020-11-12 06:04:38

by Murphy Zhou

[permalink] [raw]
Subject: Re: [PATCH] ext4: handle dax mount option collision

On Wed, Nov 11, 2020 at 10:32:09AM -0800, Harshad Shirwadkar wrote:
> Mount options dax=inode and dax=never collided with fast_commit and
> journal checksum. Redefine the mount flags to remove the collision.

Tested OK.

Thanks for the quick fix.
>
> Reported-by: Murphy Zhou <[email protected]>
> Fixes: 9cb20f94afcd2 ("fs/ext4: Make DAX mount option a tri-state")
> Signed-off-by: Harshad Shirwadkar <[email protected]>
> ---
> fs/ext4/ext4.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 1b399cafb15a..bf9429484462 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -1231,13 +1231,13 @@ struct ext4_inode_info {
> blocks */
> #define EXT4_MOUNT2_HURD_COMPAT 0x00000004 /* Support HURD-castrated
> file systems */
> -#define EXT4_MOUNT2_DAX_NEVER 0x00000008 /* Do not allow Direct Access */
> -#define EXT4_MOUNT2_DAX_INODE 0x00000010 /* For printing options only */
> -
> #define EXT4_MOUNT2_EXPLICIT_JOURNAL_CHECKSUM 0x00000008 /* User explicitly
> specified journal checksum */
>
> #define EXT4_MOUNT2_JOURNAL_FAST_COMMIT 0x00000010 /* Journal fast commit */
> +#define EXT4_MOUNT2_DAX_NEVER 0x00000020 /* Do not allow Direct Access */
> +#define EXT4_MOUNT2_DAX_INODE 0x00000040 /* For printing options only */
> +
>
> #define clear_opt(sb, opt) EXT4_SB(sb)->s_mount_opt &= \
> ~EXT4_MOUNT_##opt
> --
> 2.29.2.222.g5d2a92d10f8-goog
>

--
Murphy