diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2016-10-03 12:11:52 -0400 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2016-10-05 19:26:31 -0400 |
commit | e54b5bf9d7aeb92d92c7f5115035e6a851d0f0c5 (patch) | |
tree | bb8475324ce9e718d2f16d79a18e6414fb97269d | |
parent | a35eb41519ab8db90e87d375ee9362d6e080ca4c (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.h | 3 | ||||
-rw-r--r-- | fs/xfs/xfs_super.c | 7 |
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 |
464 | static inline bool | 465 | static inline bool |
465 | xfs_sb_has_ro_compat_feature( | 466 | xfs_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; |