aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2022-01-06 12:54:26 -0500
committerEryu Guan <guaneryu@gmail.com>2022-01-09 20:54:58 +0800
commit424b0975184aee816d4cd12a249cb9d3b5bb08c1 (patch)
tree7225bf71dde00742d01fd845ec378ee6fbdf4ae1
parentc0fd323596c5c086f920770a614a6c5bf615ad85 (diff)
downloadxfstests-dev-424b0975184aee816d4cd12a249cb9d3b5bb08c1.tar.gz
common: handle ceph's new mount syntax
Cephfs is introducing a new mount device syntax. Fix the fstests infrastructure to handle the new syntax correctly. Cc: Zorro Lang <zlang@redhat.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
-rw-r--r--common/config8
-rw-r--r--common/rc22
2 files changed, 28 insertions, 2 deletions
diff --git a/common/config b/common/config
index e0a5c5df58..2b35774647 100644
--- a/common/config
+++ b/common/config
@@ -537,6 +537,14 @@ _check_device()
# 9p and virtiofs mount tags are just plain strings, so anything is allowed
# tmpfs doesn't use mount source, ignore
;;
+ ceph)
+ # ceph has two different possible syntaxes for mount devices. The
+ # network URL check above catches the legacy syntax. Check for the
+ # new-style syntax here.
+ if ( echo $dev | grep -qEv "=/" ); then
+ _fatal "common/config: $name ($dev) is not a valid ceph mount string"
+ fi
+ ;;
overlay)
if [ ! -d "$dev" ]; then
_fatal "common/config: $name ($dev) is not a directory for overlay"
diff --git a/common/rc b/common/rc
index a419b3ba53..09a5c0661e 100644
--- a/common/rc
+++ b/common/rc
@@ -1592,7 +1592,7 @@ _require_scratch_nocheck()
_notrun "this test requires a valid \$SCRATCH_MNT"
fi
;;
- nfs*|ceph)
+ nfs*)
echo $SCRATCH_DEV | grep -q ":/" > /dev/null 2>&1
if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then
_notrun "this test requires a valid \$SCRATCH_DEV"
@@ -1601,6 +1601,15 @@ _require_scratch_nocheck()
_notrun "this test requires a valid \$SCRATCH_MNT"
fi
;;
+ ceph)
+ echo $SCRATCH_DEV | grep -qE "=/|:/" > /dev/null 2>&1
+ if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then
+ _notrun "this test requires a valid \$SCRATCH_DEV"
+ fi
+ if [ ! -d "$SCRATCH_MNT" ]; then
+ _notrun "this test requires a valid \$SCRATCH_MNT"
+ fi
+ ;;
pvfs2)
echo $SCRATCH_DEV | grep -q "://" > /dev/null 2>&1
if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then
@@ -1783,7 +1792,7 @@ _require_test()
_notrun "this test requires a valid \$TEST_DIR"
fi
;;
- nfs*|ceph)
+ nfs*)
echo $TEST_DEV | grep -q ":/" > /dev/null 2>&1
if [ -z "$TEST_DEV" -o "$?" != "0" ]; then
_notrun "this test requires a valid \$TEST_DEV"
@@ -1792,6 +1801,15 @@ _require_test()
_notrun "this test requires a valid \$TEST_DIR"
fi
;;
+ ceph)
+ echo $TEST_DEV | grep -qE "=/|:/" > /dev/null 2>&1
+ if [ -z "$TEST_DEV" -o "$?" != "0" ]; then
+ _notrun "this test requires a valid \$TEST_DEV"
+ fi
+ if [ ! -d "$TEST_DIR" ]; then
+ _notrun "this test requires a valid \$TEST_DIR"
+ fi
+ ;;
cifs)
echo $TEST_DEV | grep -q "//" > /dev/null 2>&1
if [ -z "$TEST_DEV" -o "$?" != "0" ]; then