fstests: add GlusterFS support

Add basic GlusterFS support. Neither new GlusterFS specific tests
nor related patches are included. Only support FSTYP=glusterfs or
check -glusterfs XXX.

To test on glusterfs, two gluster volumes and two mountpoint
directories are needed.

Signed-off-by: Zorro Lang <zlang@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Zorro Lang
2017-03-16 13:28:19 +08:00
committed by Eryu Guan
parent 516a24b965
commit 4cbc0a0fa8
4 changed files with 47 additions and 2 deletions
+7
View File
@@ -121,3 +121,10 @@ TEST_DIR=/mnt/test
TEST_DEV=192.168.14.1:6789:/ TEST_DEV=192.168.14.1:6789:/
TEST_FS_MOUNT_OPTS="-o name=admin,secret=AQDuEBtYKEYRINGSECRETriSC8YJGDZsQHcr7g==" TEST_FS_MOUNT_OPTS="-o name=admin,secret=AQDuEBtYKEYRINGSECRETriSC8YJGDZsQHcr7g=="
FSTYP="ceph" FSTYP="ceph"
[glusterfs]
FSTYP=glusterfs
TEST_DIR=/mnt/gluster/test
TEST_DEV=192.168.1.1:testvol
SCRATCH_MNT=/mnt/gluster/scratch
SCRATCH_DEV=192.168.1.1:scratchvol
+2
View File
@@ -65,6 +65,7 @@ usage()
check options check options
-nfs test NFS -nfs test NFS
-glusterfs test GlusterFS
-cifs test CIFS -cifs test CIFS
-overlay test overlay -overlay test overlay
-tmpfs test TMPFS -tmpfs test TMPFS
@@ -260,6 +261,7 @@ while [ $# -gt 0 ]; do
-\? | -h | --help) usage ;; -\? | -h | --help) usage ;;
-nfs) FSTYP=nfs ;; -nfs) FSTYP=nfs ;;
-glusterfs) FSTYP=glusterfs ;;
-cifs) FSTYP=cifs ;; -cifs) FSTYP=cifs ;;
-overlay) FSTYP=overlay; export OVERLAY=true ;; -overlay) FSTYP=overlay; export OVERLAY=true ;;
-tmpfs) FSTYP=tmpfs ;; -tmpfs) FSTYP=tmpfs ;;
+6
View File
@@ -307,6 +307,9 @@ _mount_opts()
ceph) ceph)
export MOUNT_OPTIONS=$CEPHFS_MOUNT_OPTIONS export MOUNT_OPTIONS=$CEPHFS_MOUNT_OPTIONS
;; ;;
glusterfs)
export MOUNT_OPTIONS=$GLUSTERFS_MOUNT_OPTIONS
;;
overlay) overlay)
export MOUNT_OPTIONS=$OVERLAY_MOUNT_OPTIONS export MOUNT_OPTIONS=$OVERLAY_MOUNT_OPTIONS
;; ;;
@@ -350,6 +353,9 @@ _test_mount_opts()
nfs) nfs)
export TEST_FS_MOUNT_OPTS=$NFS_MOUNT_OPTIONS export TEST_FS_MOUNT_OPTS=$NFS_MOUNT_OPTIONS
;; ;;
glusterfs)
export TEST_FS_MOUNT_OPTS=$GLUSTERFS_MOUNT_OPTIONS
;;
*) *)
;; ;;
esac esac
+32 -2
View File
@@ -167,6 +167,8 @@ case "$FSTYP" in
;; ;;
ceph) ceph)
;; ;;
glusterfs)
;;
overlay) overlay)
;; ;;
reiser4) reiser4)
@@ -706,6 +708,9 @@ _test_mkfs()
ceph) ceph)
# do nothing for ceph # do nothing for ceph
;; ;;
glusterfs)
# do nothing for glusterfs
;;
overlay) overlay)
# do nothing for overlay # do nothing for overlay
;; ;;
@@ -788,7 +793,7 @@ _scratch_mkfs()
local mkfs_status local mkfs_status
case $FSTYP in case $FSTYP in
nfs*|cifs|ceph|overlay) nfs*|cifs|ceph|overlay|glusterfs)
# unable to re-create this fstyp, just remove all files in # unable to re-create this fstyp, just remove all files in
# $SCRATCH_MNT to avoid EEXIST caused by the leftover files # $SCRATCH_MNT to avoid EEXIST caused by the leftover files
# created in previous runs # created in previous runs
@@ -1307,7 +1312,8 @@ _fs_type()
# Fix the filesystem type up here so that the callers don't # Fix the filesystem type up here so that the callers don't
# have to bother with this quirk. # have to bother with this quirk.
# #
_df_device $1 | $AWK_PROG '{ print $2 }' | sed -e 's/nfs4/nfs/' _df_device $1 | $AWK_PROG '{ print $2 }' | \
sed -e 's/nfs4/nfs/' -e 's/fuse.glusterfs/glusterfs/'
} }
# return the FS mount options of a mounted device # return the FS mount options of a mounted device
@@ -1489,6 +1495,15 @@ _check_mounted_on()
_require_scratch_nocheck() _require_scratch_nocheck()
{ {
case "$FSTYP" in case "$FSTYP" in
glusterfs)
echo $SCRATCH_DEV | grep -q "\w:\w" > /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
;;
nfs*|ceph) nfs*|ceph)
echo $SCRATCH_DEV | grep -q ":/" > /dev/null 2>&1 echo $SCRATCH_DEV | grep -q ":/" > /dev/null 2>&1
if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then
@@ -1568,6 +1583,15 @@ _require_scratch()
_require_test() _require_test()
{ {
case "$FSTYP" in case "$FSTYP" in
glusterfs)
echo $TEST_DEV | grep -q "\w:\w" > /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
;;
nfs*|ceph) nfs*|ceph)
echo $TEST_DEV | grep -q ":/" > /dev/null 2>&1 echo $TEST_DEV | grep -q ":/" > /dev/null 2>&1
if [ -z "$TEST_DEV" -o "$?" != "0" ]; then if [ -z "$TEST_DEV" -o "$?" != "0" ]; then
@@ -2421,6 +2445,9 @@ _check_test_fs()
ceph) ceph)
# no way to check consistency for CephFS # no way to check consistency for CephFS
;; ;;
glusterfs)
# no way to check consistency for GlusterFS
;;
overlay) overlay)
# no way to check consistency for overlay # no way to check consistency for overlay
;; ;;
@@ -2468,6 +2495,9 @@ _check_scratch_fs()
ceph) ceph)
# no way to check consistency for CephFS # no way to check consistency for CephFS
;; ;;
glusterfs)
# no way to check consistency for GlusterFS
;;
overlay) overlay)
# no way to check consistency for overlay # no way to check consistency for overlay
;; ;;