aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 12:11:52 -0400
committerDarrick J. Wong <darrick.wong@oracle.com>2016-10-05 19:26:31 -0400
commite54b5bf9d7aeb92d92c7f5115035e6a851d0f0c5 (patch)
treebb8475324ce9e718d2f16d79a18e6414fb97269d
parenta35eb41519ab8db90e87d375ee9362d6e080ca4c (diff)
xfs: recognize the reflink feature bit
Add the reflink feature flag to the set of recognized feature flags. This enables users to write to reflink filesystems. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
-rw-r--r--fs/xfs/libxfs/xfs_format.h3
-rw-r--r--fs/xfs/xfs_super.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
index 5e04ea2aa902..f6547fc5e016 100644
--- a/fs/xfs/libxfs/xfs_format.h
+++ b/fs/xfs/libxfs/xfs_format.h
@@ -459,7 +459,8 @@ xfs_sb_has_compat_feature(
459#define XFS_SB_FEAT_RO_COMPAT_REFLINK (1 << 2) /* reflinked files */ 459#define XFS_SB_FEAT_RO_COMPAT_REFLINK (1 << 2) /* reflinked files */
460#define XFS_SB_FEAT_RO_COMPAT_ALL \ 460#define XFS_SB_FEAT_RO_COMPAT_ALL \
461 (XFS_SB_FEAT_RO_COMPAT_FINOBT | \ 461 (XFS_SB_FEAT_RO_COMPAT_FINOBT | \
462 XFS_SB_FEAT_RO_COMPAT_RMAPBT) 462 XFS_SB_FEAT_RO_COMPAT_RMAPBT | \
463 XFS_SB_FEAT_RO_COMPAT_REFLINK)
463#define XFS_SB_FEAT_RO_COMPAT_UNKNOWN ~XFS_SB_FEAT_RO_COMPAT_ALL 464#define XFS_SB_FEAT_RO_COMPAT_UNKNOWN ~XFS_SB_FEAT_RO_COMPAT_ALL
464static inline bool 465static inline bool
465xfs_sb_has_ro_compat_feature( 466xfs_sb_has_ro_compat_feature(
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 15b9fcd16c67..72bde2811bd7 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1614,6 +1614,9 @@ xfs_fs_fill_super(
1614 "DAX unsupported by block device. Turning off DAX."); 1614 "DAX unsupported by block device. Turning off DAX.");
1615 mp->m_flags &= ~XFS_MOUNT_DAX; 1615 mp->m_flags &= ~XFS_MOUNT_DAX;
1616 } 1616 }
1617 if (xfs_sb_version_hasreflink(&mp->m_sb))
1618 xfs_alert(mp,
1619 "DAX and reflink have not been tested together!");
1617 } 1620 }
1618 1621
1619 if (xfs_sb_version_hasrmapbt(&mp->m_sb)) { 1622 if (xfs_sb_version_hasrmapbt(&mp->m_sb)) {
@@ -1627,6 +1630,10 @@ xfs_fs_fill_super(
1627 "EXPERIMENTAL reverse mapping btree feature enabled. Use at your own risk!"); 1630 "EXPERIMENTAL reverse mapping btree feature enabled. Use at your own risk!");
1628 } 1631 }
1629 1632
1633 if (xfs_sb_version_hasreflink(&mp->m_sb))
1634 xfs_alert(mp,
1635 "EXPERIMENTAL reflink feature enabled. Use at your own risk!");
1636
1630 error = xfs_mountfs(mp); 1637 error = xfs_mountfs(mp);
1631 if (error) 1638 if (error)
1632 goto out_filestream_unmount; 1639 goto out_filestream_unmount;