From f75bb4a9ca14b50c7f828ee3fe4ba73dd78f094c Mon Sep 17 00:00:00 2001 From: Xavier Hernandez Date: Fri, 30 Jan 2015 11:47:11 +0100 Subject: ec: Special handling of anonymous fd Anonymous file descriptors need to be handled specially because they can be used in some non standard ways (i.e. an anonymous fd can be used without having been opened). This caused NFS to fail on some operations because ec always expected to have a previous successful opendir call (from patch http://review.gluster.org/9098/). This patch treats all anonymous fd as opened on all subvolumes. Change-Id: I09dbbce2ffc1ae3a5bcbb328bed55b84f4f0b9f8 BUG: 1187474 Signed-off-by: Xavier Hernandez Reviewed-on: http://review.gluster.org/9513 Tested-by: Gluster Build System Reviewed-by: Pranith Kumar Karampuri Reviewed-by: Vijay Bellur --- tests/bugs/disperse/bug-1187474.t | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/bugs/disperse/bug-1187474.t (limited to 'tests/bugs/disperse') diff --git a/tests/bugs/disperse/bug-1187474.t b/tests/bugs/disperse/bug-1187474.t new file mode 100644 index 00000000000..dce0100de57 --- /dev/null +++ b/tests/bugs/disperse/bug-1187474.t @@ -0,0 +1,40 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../nfs.rc + +function check_dir() +{ + local count + + count=`ls $1 | grep "dir.[0-9]*" | wc -l` + if [[ $count -eq 100 ]]; then + echo "Y" + else + echo "N" + fi +} + +cleanup + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 redundancy 2 $H0:$B0/${V0}{0..5} +EXPECT "Created" volinfo_field $V0 'Status' +TEST $CLI volume start $V0 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Started" volinfo_field $V0 'Status' +EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available +TEST mount_nfs $H0:/$V0 $N0 +TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0 +EXPECT_WITHIN $CHILD_UP_TIMEOUT "6" ec_child_up_count $V0 0 + +TEST mkdir $M0/dir.{1..100} + +sleep 2 + +EXPECT "Y" check_dir $N0 + +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0 + +cleanup -- cgit