[PATCH 03/11] generic/32[6-8]: support xfs in addition to btrfs

Darrick J. Wong
2015-06-30T04:15:50Z

Modify the reflink tests to support xfs.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
common/rc | 37 +++++++++++++++++++++++++++++++++++++
tests/generic/800 | 2 +-
tests/generic/801 | 2 +-
tests/generic/802 | 2 +-
4 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/common/rc b/common/rc
index 51d2fcb..8f20dc8 100644
--- a/common/rc
+++ b/common/rc
@@ -1397,6 +1397,43 @@ _require_xfs_crc()
umount $SCRATCH_MNT
}

+# this test requires the test fs support reflink...
+#
+_require_test_reflink()
+{
+ case $FSTYP in
+ xfs)
+ xfs_info "${TEST_DIR}" | grep reflink=1 -c -q || _notrun "Reflink not supported by this filesystem type: $FSTYP"
+ ;;
+ btrfs)
+ true
+ ;;
+ *)
+ _notrun "Reflink not supported by this filesystem type: $FSTYP"
+ ;;
+ esac
+}
+
+# this test requires the scratch fs support reflink...
+#
+_require_scratch_reflink()
+{
+ case $FSTYP in
+ xfs)
+ _scratch_mkfs > /dev/null 2>&1
+ _scratch_mount
+ xfs_info "${TEST_DIR}" | grep reflink=1 -c -q || _notrun "$FSTYP does not support reflink"
+ _scratch_unmount
+ ;;
+ btrfs)
+ true
+ ;;
+ *)
+ _notrun "Reflink not supported by this filesystem type: $FSTYP"
+ ;;
+ esac
+}
+
# this test requires the bigalloc feature to be available in mkfs.ext4
#
_require_ext4_mkfs_bigalloc()
diff --git a/tests/generic/800 b/tests/generic/800
index a71f11a..954f39d 100755
--- a/tests/generic/800
+++ b/tests/generic/800
@@ -45,7 +45,7 @@ _cleanup()
. common/filter

# real QA test starts here
-_supported_fs btrfs
+_require_test_reflink
_supported_os Linux

_require_xfs_io_command "fiemap"
diff --git a/tests/generic/801 b/tests/generic/801
index b21c44b..aedb6e9 100755
--- a/tests/generic/801
+++ b/tests/generic/801
@@ -45,7 +45,7 @@ _cleanup()
. common/filter

# real QA test starts here
-_supported_fs btrfs
+_require_test_reflink
_supported_os Linux

_require_xfs_io_command "fiemap"
diff --git a/tests/generic/802 b/tests/generic/802
index afd8513..51d3414 100755
--- a/tests/generic/802
+++ b/tests/generic/802
@@ -43,7 +43,7 @@ _cleanup()
. ./common/filter

# real QA test starts here
-_supported_fs btrfs
+_require_test_reflink
_supported_os Linux

_require_xfs_io_command "fiemap"