]> git.ipfire.org Git - people/ms/linux.git/commit - fs/ext4/ext4.h
ext4: disallow modifying DAX inode flag if inline_data has been set
authorXiao Yang <yangx.jy@cn.fujitsu.com>
Fri, 28 Aug 2020 08:43:30 +0000 (16:43 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 18 Oct 2020 14:36:13 +0000 (10:36 -0400)
commitaa2f77920b743c44e02e2dc8474bbf8bd30007a2
treec907c64f8eb31baedc4f11d666243e0b5a2f0fd4
parent15ed2851b0f42d0dc42d7172f1eaa0bea57ff807
ext4: disallow modifying DAX inode flag if inline_data has been set

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@cn.fujitsu.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/20200828084330.15776-1-yangx.jy@cn.fujitsu.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h