ext4: handle dax mount option collision
authorHarshad Shirwadkar <harshadshirwadkar@gmail.com>
Wed, 11 Nov 2020 18:32:09 +0000 (10:32 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 11 Nov 2020 19:23:29 +0000 (14:23 -0500)
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 <jencce.kernel@gmail.com>
Fixes: 9cb20f94afcd2 ("fs/ext4: Make DAX mount option a tri-state")
Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Link: https://lore.kernel.org/r/20201111183209.447175-1-harshads@google.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h

index 1b399ca..bf94294 100644 (file)
@@ -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