[PATCH] xfs: reject per-inode dax flag on reflink filesystems

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

 



Today we reject this flag on an already-reflinked inode, but we really
need to reject it for any inode on a reflink-capable filesystem until
reflink+dax is supported.

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---

(um, do we need to catch this when reading from disk as well?  If we
found a dax-flagged inode on a reflinked fs, then what would we do with it?)

diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
index 0ef5ece5634c..63d579c652f2 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -1031,8 +1031,9 @@ xfs_ioctl_setattr_xflags(
 	if ((fa->fsx_xflags & FS_XFLAG_REALTIME) && xfs_is_reflink_inode(ip))
 		ip->i_d.di_flags2 &= ~XFS_DIFLAG2_REFLINK;
 
-	/* Don't allow us to set DAX mode for a reflinked file for now. */
-	if ((fa->fsx_xflags & FS_XFLAG_DAX) && xfs_is_reflink_inode(ip))
+	/* Don't allow us to set DAX mode on a reflink filesystem for now. */
+	if ((fa->fsx_xflags & FS_XFLAG_DAX) &&
+	    xfs_sb_version_hasreflink(&ip->i_mount->m_sb))
 		return -EINVAL;
 
 	/*




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux