On Tue, Mar 21, 2017 at 12:04:05PM +0800, Zorro Lang wrote: > On Mon, Mar 20, 2017 at 11:45:17PM -0400, Niels de Vos wrote: > > 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 > > > +SCRATCH_DEV=192.168.1.1:scratchvol > > > > We mostly use the format of 192.168.1.1:/testvol, matching the way NFS > > Hi Niels, > > I limit the DEVICE name format should match "\w:\w", when mount -t glusterfs. > That means there's not "/" beside the ":". Do you think I should change > this regular expression? Yes, it would be good to have an optional "/" after the ":". It is not required, but would probably help when someone runs the tests with the "hostname:/volume" device format. > I think you only use "192.168.1.1:/testvol", when you do mount -t nfs, > right? Yes, I am pretty sure NFS expects the "/" after the ":". This counts for any NFS servers that use Gluster on the backend as well. Thanks, Niels > Thanks, > Zorro > > > mounts an export. That is not required though, and the notation used > > here is valid as well. > > > > Looks good to me - once the SCRATCH_DIR/MNT error has been corrected. > > > > Reviewed-by: Niels de Vos <ndevos@xxxxxxxxxx> > > > > > > > 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 > > > > > > _______________________________________________ > > > Gluster-devel mailing list > > > Gluster-devel@xxxxxxxxxxx > > > http://lists.gluster.org/mailman/listinfo/gluster-devel _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://lists.gluster.org/mailman/listinfo/gluster-devel