diff options
author | vmallika <vmallika@redhat.com> | 2014-11-20 20:36:00 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-11-25 22:26:04 -0800 |
commit | 8277f4e4a4e92543ac139ef63d0ad82add397de7 (patch) | |
tree | d237c8180e6b6e0e962347683f1575739060563c /tests | |
parent | ff9ffab7b4e991de6191f10909c32a7a08f20ada (diff) |
gluster/uss: Handle ESTALE in snapview client when NFS server restarted
When NFS server is restarted inode-context is lost.
Nameless lookup will be sent to regular volume.
If the gfid is from virtual graph, lookup will fail
with ESTALE. We need to send a lookup to snapview server
Change-Id: I22920614f0d14cb90b53653fce95b6b70023eba6
BUG: 1166197
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/9153
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Sachin Pandit <spandit@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs/bug-1164613.t | 7 | ||||
-rwxr-xr-x | tests/bugs/bug-1166197.t | 48 | ||||
-rw-r--r-- | tests/include.rc | 6 |
3 files changed, 55 insertions, 6 deletions
diff --git a/tests/bugs/bug-1164613.t b/tests/bugs/bug-1164613.t index 1942dcbc628..b7b27f1d649 100644 --- a/tests/bugs/bug-1164613.t +++ b/tests/bugs/bug-1164613.t @@ -3,11 +3,6 @@ . $(dirname $0)/../include.rc . $(dirname $0)/../snapshot.rc -function stat_testfile() { - stat $M0/snaps/snaps/testfile - echo $? -} - cleanup; TEST verify_lvm_version; TEST glusterd; @@ -26,7 +21,7 @@ TEST $CLI snapshot activate snaps TEST $CLI volume set $V0 features.uss enable TEST $CLI volume set $V0 snapshot-directory snaps -EXPECT_WITHIN 20 "0" stat_testfile +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" STAT $M0/snaps/snaps/testfile umount -f $M0 diff --git a/tests/bugs/bug-1166197.t b/tests/bugs/bug-1166197.t new file mode 100755 index 00000000000..a1e2480d62b --- /dev/null +++ b/tests/bugs/bug-1166197.t @@ -0,0 +1,48 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../snapshot.rc +. $(dirname $0)/../volume.rc +. $(dirname $0)/../nfs.rc + +cleanup; +CURDIR=`pwd` + +TEST verify_lvm_version; +TEST glusterd; +TEST pidof glusterd; + +TEST setup_lvm 1 + +TEST $CLI volume create $V0 $H0:$L1 +TEST $CLI volume start $V0 +TEST $CLI snapshot config activate-on-create enable +TEST $CLI volume set $V0 features.uss enable + +EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Started' volinfo_field $V0 'Status'; +TEST mount_nfs $H0:/$V0 $N0 nolock +TEST mkdir $N0/testdir + +TEST $CLI snapshot create snap1 $V0 +TEST $CLI snapshot create snap2 $V0 + +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" STAT $N0/testdir/.snaps + +TEST cd $N0/testdir +TEST cd .snaps +TEST ls + +TEST $CLI snapshot deactivate snap2 +TEST ls + +TEST cd $CURDIR + +#Clean up +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0 +TEST $CLI snapshot delete snap1 +TEST $CLI snapshot delete snap2 +TEST $CLI volume stop $V0 force +TEST $CLI volume delete $V0 + +cleanup; + diff --git a/tests/include.rc b/tests/include.rc index 000005a4e33..dc6fc6e25dc 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -826,3 +826,9 @@ function UMOUNT_LOOP () ;; esac } + +function STAT() +{ + stat $1 + echo $? +} |