Re: [Gluster-devel] [PATCH v2] fstests: add GlusterFS support

2017-03-20 Thread Zorro Lang
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 <zl...@redhat.com>
> > ---
> > 
> > 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--xx.redhat.com:testvol
> > SCRATCH_MNT=/mnt/gluster/scratch
> > SCRATCH_DEV=ibm--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 :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?

I think you only use "192.168.1.1:/testvol", when you do mount -t nfs,
right?

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 <nde...@redhat.com>
> 
> 
> > diff --git a/check b/check
> > index c2c22e2..2fcf385 100755
> > --- a/check
> > +++ b/check
> > @@ -65,6 +65,7 @@ usage()
> >  
> >  check options
> >  -nfstest NFS
&g

Re: [Gluster-devel] add glusterfs support into xfstests

2017-03-16 Thread Zorro Lang
On Wed, Mar 15, 2017 at 09:38:07PM +0100, Niels de Vos wrote:
> Hi Zorro,
> 
> Many thanks for doing this! I'm adding gluster-devel@gluster.org as that

Hi Niels,

Thanks for your help, I've sent V2 patch, and CC
gluster-devel@gluster.org. Please feel free to review it.

Thanks,
Zorro

> is the list where all Gluster developers are active. At this moment I
> can not think of anything specific (but it is rather late). I'll go
> through your patch tomorrow and will think about it a little more.
> 
> Thanks again,
> Niels
> 
> 
> On Thu, Mar 16, 2017 at 01:11:34AM +0800, Zorro Lang wrote:
> > Hi Niels,
> > 
> > We already contributed many patches to xfstests, most of them are
> > XFS related. Due to there're more and more FUSE bugs will be merged
> > in future RHEL kernel, I decide to try to make xfstests support
> > glusterfs test.
> > 
> > The first patch as below (reviewing):
> > http://marc.info/?l=fstests=148959701527695=2
> > 
> > It will add basic GlusterFS support, we still need long time to
> > modify some case problems which will cause failures on glusterfs.
> > 
> > As you know, I only know how to use "mount -t glusterfs $IP:vol",
> > so this patch only to do this mount and test. Is there anything
> > else you feel important to glusterfs? Likes your project about
> > NFS on glusterfs, is there any difference when use it?
> > 
> > I'm glad to hear your suggestions as usual :)
> > 
> > Thanks,
> > Zorro


___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://lists.gluster.org/mailman/listinfo/gluster-devel


[Gluster-devel] [PATCH v2] fstests: add GlusterFS support

2017-03-16 Thread Zorro Lang
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 <zl...@redhat.com>
---

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--xx.redhat.com:testvol
SCRATCH_MNT=/mnt/gluster/scratch
SCRATCH_DEV=ibm--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 :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
diff --git a/check b/check
index c2c22e2..2fcf385 100755
--- a/check
+++ b/check
@@ -65,6 +65,7 @@ usage()
 
 check options
 -nfstest NFS
+-glusterfstest 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|gl