On Tue, Dec 01, 2020 at 01:16:09PM -0600, Eric Sandeen wrote: > We don't yet support dax on reflinked files, but that is in the works. > > Further, having the flag set does not automatically mean that the inode > is actually "in the CPU direct access state," which depends on several > other conditions in addition to the flag being set. > > As such, we should not catch this as corruption in the verifier - simply > not actually enabling S_DAX on reflinked files is enough for now. > > Fixes: 4f435ebe7d04 ("xfs: don't mix reflink and DAX mode for now") > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > fs/xfs/libxfs/xfs_inode_buf.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c > index c667c63f2cb0..4d7410e49db4 100644 > --- a/fs/xfs/libxfs/xfs_inode_buf.c > +++ b/fs/xfs/libxfs/xfs_inode_buf.c > @@ -547,10 +547,6 @@ xfs_dinode_verify( > if ((flags2 & XFS_DIFLAG2_REFLINK) && (flags & XFS_DIFLAG_REALTIME)) > return __this_address; > > - /* don't let reflink and dax mix */ > - if ((flags2 & XFS_DIFLAG2_REFLINK) && (flags2 & XFS_DIFLAG2_DAX)) > - return __this_address; If we're going to let in inodes with the DAX and REFLINK iflags set, doesn't that mean that xfs_inode_should_enable_dax needs to return false if REFLINK is set? --D > - > /* COW extent size hint validation */ > fa = xfs_inode_validate_cowextsize(mp, be32_to_cpu(dip->di_cowextsize), > mode, flags, flags2); > -- > 2.17.0 >