diff options
author | Niels de Vos <ndevos@redhat.com> | 2014-12-02 10:54:53 +0100 |
---|---|---|
committer | Niels de Vos <ndevos@redhat.com> | 2015-04-26 01:40:22 -0700 |
commit | 331ef6e1a86bfc0a93f8a9dec6ad35c417873849 (patch) | |
tree | 647bf493dda38e59a8e268b537b707e65dc45d8d /tests | |
parent | a675ab96b917fc48fc3d7ca035590ebd7cf102bd (diff) |
nfs: make it possible to disable nfs.mount-rmtab
When there are many NFS-clients doing very often mount/unmount actions,
the updating of the 'rmtab' can become a bottleneck and cause delays. In
these situations, the output of 'showmount' may be less important than
the responsiveness of the (un)mounting.
By setting 'nfs.mount-rmtab' to the value "/-", the cache file is not
updated anymore, and the entries are only kept in memory.
BUG: 1169317
Change-Id: I40c4d8d754932f86fb2b1b2588843390464c773d
Reported-by: Cyril Peponnet <cyril@peponnet.fr>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/9223
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: soumya k <skoduri@redhat.com>
Reviewed-by: jiffin tony Thottan <jthottan@redhat.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/bugs/bug-1166862.t | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/bugs/bug-1166862.t b/tests/bugs/bug-1166862.t new file mode 100755 index 00000000000..9d0796a9f45 --- /dev/null +++ b/tests/bugs/bug-1166862.t @@ -0,0 +1,66 @@ +#!/bin/bash +# +# When nfs.mount-rmtab is disabled, it should not get updated. +# +# Based on: bug-904065.t +# + +# count the lines of a file, return 0 if the file does not exist +function count_lines() +{ + if [ -e "$1" ] + then + wc -l < $1 + else + echo 0 + fi +} + + +. $(dirname $0)/../include.rc +. $(dirname $0)/../nfs.rc +. $(dirname $0)/../volume.rc + +cleanup + +TEST glusterd +TEST pidof glusterd + +TEST $CLI volume create $V0 $H0:$B0/brick1 +EXPECT 'Created' volinfo_field $V0 'Status' + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status' + +# glusterfs/nfs needs some time to start up in the background +EXPECT_WITHIN $NFS_EXPORT_TIMEOUT 1 is_nfs_export_available + +# disable the rmtab by settting it to the magic "/-" value +TEST $CLI volume set $V0 nfs.mount-rmtab /- + +# before mounting the rmtab should be empty +EXPECT '0' count_lines $GLUSTERD_WORKDIR/nfs/rmtab + +TEST mount_nfs $H0:/$V0 $N0 nolock +EXPECT '0' count_lines $GLUSTERD_WORKDIR/nfs/rmtab + +# showmount should list one client +EXPECT '1' showmount --no-headers $H0 + +# unmount +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $N0 + +# after resetting the option, the rmtab should get updated again +TEST $CLI volume reset $V0 nfs.mount-rmtab + +# before mounting the rmtab should be empty +EXPECT '0' count_lines $GLUSTERD_WORKDIR/nfs/rmtab + +TEST mount_nfs $H0:/$V0 $N0 nolock +EXPECT '2' count_lines $GLUSTERD_WORKDIR/nfs/rmtab + +# removing a mount +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $N0 +EXPECT '0' count_lines $GLUSTERD_WORKDIR/nfs/rmtab + +cleanup |