Patch "ext4: disallow modifying DAX inode flag if inline_data has been set" has been added to the 5.9-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    ext4: disallow modifying DAX inode flag if inline_data has been set

to the 5.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ext4-disallow-modifying-dax-inode-flag-if-inline_dat.patch
and it can be found in the queue-5.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 4bd47989493b1dd955dc018f29ddff2551786cf7
Author: Xiao Yang <yangx.jy@xxxxxxxxxxxxxx>
Date:   Fri Aug 28 16:43:30 2020 +0800

    ext4: disallow modifying DAX inode flag if inline_data has been set
    
    [ Upstream commit aa2f77920b743c44e02e2dc8474bbf8bd30007a2 ]
    
    inline_data is mutually exclusive to DAX so enabling both of them triggers
    the following issue:
    ------------------------------------------
    # mkfs.ext4 -F -O inline_data /dev/pmem1
    ...
    # mount /dev/pmem1 /mnt
    # echo 'test' >/mnt/file
    # lsattr -l /mnt/file
    /mnt/file                    Inline_Data
    # xfs_io -c "chattr +x" /mnt/file
    # xfs_io -c "lsattr -v" /mnt/file
    [dax] /mnt/file
    # umount /mnt
    # mount /dev/pmem1 /mnt
    # cat /mnt/file
    cat: /mnt/file: Numerical result out of range
    ------------------------------------------
    
    Fixes: b383a73f2b83 ("fs/ext4: Introduce DAX inode flag")
    Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxxxxx>
    Reviewed-by: Jan Kara <jack@xxxxxxx>
    Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
    Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20200828084330.15776-1-yangx.jy@xxxxxxxxxxxxxx
    Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 523e00d7b3924..69187b6205b2b 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -492,7 +492,7 @@ struct flex_groups {
 
 /* Flags which are mutually exclusive to DAX */
 #define EXT4_DAX_MUT_EXCL (EXT4_VERITY_FL | EXT4_ENCRYPT_FL |\
-			   EXT4_JOURNAL_DATA_FL)
+			   EXT4_JOURNAL_DATA_FL | EXT4_INLINE_DATA_FL)
 
 /* Mask out flags that are inappropriate for the given type of inode. */
 static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux