On Thu, Mar 16, 2017 at 01:28:19PM +0800, Zorro Lang wrote: > 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@xxxxxxxxxx> > --- > > Hi glusterfs developers, > > Recently some people cares about testing kernel FUSE by running > xfstests. We can't test FUSE independently, we must depend upon > someone real FS base on FUSE, e.g. GlusterFS. > > This patch only want to run xfstests on glusterfs, but I haven't > made sure if there's no case bugs for glusterfs. I think that's > another problem which I will fix in later patches. > > At first I prepare two gluster volumes and two directories, then > set into xfstests/local.config. > > [root@ibm-x3650m4-10 xfstests-dev]# cat local.config > TEST_DIR=/mnt/gluster/test > TEST_DEV=ibm-xxxx-xx.redhat.com:testvol > SCRATCH_MNT=/mnt/gluster/scratch > SCRATCH_DEV=ibm-xxxx-xx.redhat.com:scratchvol > > (feel free to set MOUNT_OPTIONS, or GLUSTERFS_MOUNT_OPTIONS) > > Then I ran some generic cases, e.g. g/001 and g/117, one test on > TEST_DEV, and the other run on SCRATCH_DEV: > > [root@ibm-x3650m4-10 xfstests-dev]# ./check -glusterfs generic/001 > FSTYP -- glusterfs > PLATFORM -- Linux/x86_64 ibm-x3650m4-10 3.10.0-581.el7.x86_64 > MKFS_OPTIONS -- ibm-x3650m4-10.rhts.eng.pek2.redhat.com:scratchvol > MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 ibm-x3650m4-10.rhts.eng.pek2.redhat.com:scratchvol /mnt/gluster/scratch > > generic/001 9s ... 8s > Ran: generic/001 > Passed all 1 tests > > [root@ibm-x3650m4-10 xfstests-dev]# ./check -glusterfs generic/117 > FSTYP -- glusterfs > PLATFORM -- Linux/x86_64 ibm-x3650m4-10 3.10.0-581.el7.x86_64 > MKFS_OPTIONS -- ibm-x3650m4-10.rhts.eng.pek2.redhat.com:scratchvol > MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 ibm-x3650m4-10.rhts.eng.pek2.redhat.com:scratchvol /mnt/gluster/scratch > > generic/117 24s ... 24s > Ran: generic/117 > Passed all 1 tests > > The results look good. But there're some cases fails on glusterfs, > I think that's case problem or glusterfs problems. I'll look into > them in the future. > > I only know how to use "mount -t glusterfs XXXX:vol /mnt", if you > have any other requirements or suggestions, please tell me. > Welcome send more patches to fstests@ mail list:) > > Thanks, > Zorro > > README.config-sections | 7 +++++++ > check | 2 ++ > common/config | 6 ++++++ > common/rc | 34 ++++++++++++++++++++++++++++++++-- > 4 files changed, 47 insertions(+), 2 deletions(-) > > diff --git a/README.config-sections b/README.config-sections > index df7c929..9133997 100644 > --- a/README.config-sections > +++ b/README.config-sections > @@ -121,3 +121,10 @@ TEST_DIR=/mnt/test > TEST_DEV=192.168.14.1:6789:/ > TEST_FS_MOUNT_OPTS="-o name=admin,secret=AQDuEBtYKEYRINGSECRETriSC8YJGDZsQHcr7g==" > FSTYP="ceph" > + > +[glusterfs] > +FSTYP=glusterfs > +TEST_DIR=/mnt/gluster/test > +TEST_DEV=192.168.1.1:testvol > +SCRATCH_DIR=/mnt/gluster/scratch Sorry, there's a mistake, SCRATCH_DIR should be SCRATCH_MNT. I'll fix it if glusterfs team has more suggestions after review. Thanks, Zorro > +SCRATCH_DEV=192.168.1.1:scratchvol > diff --git a/check b/check > index c2c22e2..2fcf385 100755 > --- a/check > +++ b/check > @@ -65,6 +65,7 @@ usage() > > check options > -nfs test NFS > + -glusterfs test GlusterFS > -cifs test CIFS > -overlay test overlay > -tmpfs test TMPFS > @@ -260,6 +261,7 @@ while [ $# -gt 0 ]; do > -\? | -h | --help) usage ;; > > -nfs) FSTYP=nfs ;; > + -glusterfs) FSTYP=glusterfs ;; > -cifs) FSTYP=cifs ;; > -overlay) FSTYP=overlay; export OVERLAY=true ;; > -tmpfs) FSTYP=tmpfs ;; > diff --git a/common/config b/common/config > index 0c7335a..1ee16f7 100644 > --- a/common/config > +++ b/common/config > @@ -301,6 +301,9 @@ _mount_opts() > ceph) > export MOUNT_OPTIONS=$CEPHFS_MOUNT_OPTIONS > ;; > + glusterfs) > + export MOUNT_OPTIONS=$GLUSTERFS_MOUNT_OPTIONS > + ;; > overlay) > export MOUNT_OPTIONS=$OVERLAY_MOUNT_OPTIONS > ;; > @@ -341,6 +344,9 @@ _test_mount_opts() > ceph) > export TEST_FS_MOUNT_OPTS=$CEPHFS_MOUNT_OPTIONS > ;; > + glusterfs) > + export TEST_FS_MOUNT_OPTS=$GLUSTERFS_MOUNT_OPTIONS > + ;; > *) > ;; > esac > diff --git a/common/rc b/common/rc > index d53f679..7185c3f 100644 > --- a/common/rc > +++ b/common/rc > @@ -167,6 +167,8 @@ case "$FSTYP" in > ;; > ceph) > ;; > + glusterfs) > + ;; > overlay) > ;; > reiser4) > @@ -706,6 +708,9 @@ _test_mkfs() > ceph) > # do nothing for ceph > ;; > + glusterfs) > + # do nothing for glusterfs > + ;; > overlay) > # do nothing for overlay > ;; > @@ -788,7 +793,7 @@ _scratch_mkfs() > local mkfs_status > > case $FSTYP in > - nfs*|cifs|ceph|overlay) > + nfs*|cifs|ceph|overlay|glusterfs) > # unable to re-create this fstyp, just remove all files in > # $SCRATCH_MNT to avoid EEXIST caused by the leftover files > # created in previous runs > @@ -1307,7 +1312,8 @@ _fs_type() > # Fix the filesystem type up here so that the callers don't > # 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 > @@ -1489,6 +1495,15 @@ _check_mounted_on() > _require_scratch_nocheck() > { > 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) > echo $SCRATCH_DEV | grep -q ":/" > /dev/null 2>&1 > if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then > @@ -1568,6 +1583,15 @@ _require_scratch() > _require_test() > { > 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) > echo $TEST_DEV | grep -q ":/" > /dev/null 2>&1 > if [ -z "$TEST_DEV" -o "$?" != "0" ]; then > @@ -2421,6 +2445,9 @@ _check_test_fs() > ceph) > # no way to check consistency for CephFS > ;; > + glusterfs) > + # no way to check consistency for GlusterFS > + ;; > overlay) > # no way to check consistency for overlay > ;; > @@ -2468,6 +2495,9 @@ _check_scratch_fs() > ceph) > # no way to check consistency for CephFS > ;; > + glusterfs) > + # no way to check consistency for GlusterFS > + ;; > overlay) > # no way to check consistency for overlay > ;; > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe fstests" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://lists.gluster.org/mailman/listinfo/gluster-devel