[PATCH 3/4] generic/578: Test that filefrag is supported before running

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

 



From: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>

NFS does not support FIBMAP/FIEMAP, so the check for non-shared extents
on NFS v4.2 always fails with the message: "FIBMAP/FIEMAP unsupported".
I added the _require_filefrag check for NFS and other filesystems that
don't have FIEMAP or FIBMAP support.

Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
---
 common/rc         | 14 ++++++++++++++
 tests/generic/578 |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/common/rc b/common/rc
index b3289de985d8..73d17da9430e 100644
--- a/common/rc
+++ b/common/rc
@@ -4673,6 +4673,20 @@ _require_inode_limits()
 	fi
 }
 
+_require_filefrag()
+{
+	_require_command "$FILEFRAG_PROG" filefrag
+
+	local file="$TEST_DIR/filefrag_testfile"
+
+	echo "XX" > $file
+	${FILEFRAG_PROG} $file 2>&1 | grep -q "FIBMAP/FIEMAP[[:space:]]*unsupported"
+	if [ $? -eq 0 ]; then
+		_notrun "FIBMAP/FIEMAP not supported by this filesystem"
+	fi
+	rm -f $file
+}
+
 _require_filefrag_options()
 {
 	_require_command "$FILEFRAG_PROG" filefrag
diff --git a/tests/generic/578 b/tests/generic/578
index 01929a280f8c..64c813032cf8 100755
--- a/tests/generic/578
+++ b/tests/generic/578
@@ -23,7 +23,7 @@ _cleanup()
 # real QA test starts here
 _supported_fs generic
 _require_test_program "mmap-write-concurrent"
-_require_command "$FILEFRAG_PROG" filefrag
+_require_filefrag
 _require_test_reflink
 _require_cp_reflink
 
-- 
2.35.1




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux