On Aug 28, 2020, at 2:43 AM, Xiao Yang wrote: > > 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 > Reviewed-by: Jan Kara Reviewed-by: Andreas Dilger > --- > fs/ext4/ext4.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h > index 523e00d7b392..69187b6205b2 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) > -- > 2.25.1 > > > Cheers, Andreas