From dc8d19148a7cf16ead0eed60fe76e64a03391270 Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Thu, 6 Dec 2012 12:17:02 +0530 Subject: nfs/server: Fix multiple crashes in acl handling code. Change-Id: I9b39a485c8b98d9eabe6153487f4dfbd26f8af13 BUG: 915280 Signed-off-by: Vijay Bellur Reviewed-on: http://review.gluster.org/4578 Reviewed-by: Kaleb KEITHLEY Tested-by: Gluster Build System Reviewed-by: Anand Avati --- tests/bugs/bug-915280.t | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ tests/volume.rc | 10 ++++++++++ 2 files changed, 61 insertions(+) create mode 100755 tests/bugs/bug-915280.t (limited to 'tests') diff --git a/tests/bugs/bug-915280.t b/tests/bugs/bug-915280.t new file mode 100755 index 00000000..a1f92f20 --- /dev/null +++ b/tests/bugs/bug-915280.t @@ -0,0 +1,51 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd + +function volinfo_field() +{ + local vol=$1; + local field=$2; + + $CLI volume info $vol | grep "^$field: " | sed 's/.*: //'; +} + +TEST $CLI volume create $V0 $H0:$B0/brick1 $H0:$B0/brick2; +EXPECT 'Created' volinfo_field $V0 'Status'; + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +sleep 3 + +MOUNTDIR=$N0; +TEST mount -t nfs -o vers=3,nolock,soft,timeo=30,retrans=1 $H0:/$V0 $N0 +TEST touch $N0/testfile + +TEST $CLI volume set $V0 debug.error-gen client +TEST $CLI volume set $V0 debug.error-fops stat +TEST $CLI volume set $V0 debug.error-failure 100 + +sleep 1 + +pid_file=$(read_nfs_pidfile); + +getfacl $N0/testfile 2>/dev/null + +nfs_pid=$(get_nfs_pid); +if [ ! $nfs_pid ] +then + nfs_pid=0; +fi + +TEST [ $nfs_pid -eq $pid_file ] + +TEST umount $MOUNTDIR -l + +cleanup; diff --git a/tests/volume.rc b/tests/volume.rc index 9debe2b9..1b9f8b2c 100644 --- a/tests/volume.rc +++ b/tests/volume.rc @@ -39,6 +39,16 @@ function get_mount_process_pid { ps aux | grep glusterfs | grep -E "volfile-id[ =]/?$vol " | awk '{print $2}' | head -1 } +function get_nfs_pid () +{ + ps aux | grep "volfile-id\ gluster\/nfs" | awk '{print $2}' | head -1 +} + +function read_nfs_pidfile () +{ + echo `cat /var/lib/glusterd/nfs/run/nfs.pid` +} + function cleanup_statedump { pid=$1 rm -f $statedumpdir/*$pid.dump.* -- cgit