diff options
| -rwxr-xr-x | extras/test/bug-920583.t | 50 | ||||
| -rwxr-xr-x | xlators/mount/fuse/utils/mount.glusterfs.in | 6 | 
2 files changed, 56 insertions, 0 deletions
diff --git a/extras/test/bug-920583.t b/extras/test/bug-920583.t new file mode 100755 index 000000000..eedbb800a --- /dev/null +++ b/extras/test/bug-920583.t @@ -0,0 +1,50 @@ +#!/bin/bash + +##Copy this file to tests/bugs before running run.sh (cp extras/test/bug-920583.t tests/bugs/) + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; +logdir=`gluster --print-logdir` + +## Start and create a volume +TEST glusterd; +TEST pidof glusterd; + +TEST $CLI volume create $V0 replica 2 stripe 2 $H0:$B0/${V0}{1,2,3,4,5,6,7,8}; + +## Verify volume is is created +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; + +## Start volume and verify +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +function log-file-name() +{ +    logfilename=$M0".log" +    echo ${logfilename:1} | tr / - +} + +log_file=$logdir"/"`log-file-name` + +lookup_unhashed_count=`grep "adding option 'lookup-unhashed'" $log_file | wc -l` +no_child_down_count=`grep "adding option 'assert-no-child-down'" $log_file | wc -l` +mount -t glusterfs $H0:/$V0 $M0 -o "xlator-option=*dht.assert-no-child-down=yes,xlator-option=*dht.lookup-unhashed=yes" +touch $M0/file1; + +new_lookup_unhashed_count=`grep "adding option 'lookup-unhashed'" $log_file | wc -l` +new_no_child_down_count=`grep "adding option 'assert-no-child-down'" $log_file | wc -l` +EXPECT "1" expr $new_lookup_unhashed_count - $lookup_unhashed_count +EXPECT "1" expr $new_no_child_down_count - $no_child_down_count + +## Finish up +TEST $CLI volume stop $V0; +EXPECT 'Stopped' volinfo_field $V0 'Status'; + +TEST $CLI volume delete $V0; +TEST ! $CLI volume info $V0; + +cleanup; diff --git a/xlators/mount/fuse/utils/mount.glusterfs.in b/xlators/mount/fuse/utils/mount.glusterfs.in index 8fcd0d32b..3fedb8ce3 100755 --- a/xlators/mount/fuse/utils/mount.glusterfs.in +++ b/xlators/mount/fuse/utils/mount.glusterfs.in @@ -167,6 +167,11 @@ start_glusterfs ()  	cmd_line=$(echo "$cmd_line --fuse-mountopts=$fuse_mountopts");      fi +    if [ -n "$xlator_option" ]; then +        xlator_option=$(echo $xlator_option | sed s/"xlator-option="/"--xlator-option "/g) +        cmd_line=$(echo "$cmd_line $xlator_option"); +    fi +      # for rdma volume, we have to fetch volfile with '.rdma' added      # to volume name, so that it fetches the right client vol file      volume_id_rdma=""; @@ -369,6 +374,7 @@ main ()  			    "gid-timeout")	gid_timeout=$value ;;  			    "background-qlen")	bg_qlen=$value ;;  			    "congestion-threshold")	cong_threshold=$value ;; +			    "xlator-option")	xlator_option=$xlator_option" "$pair ;;  			    "fuse-mountopts")	fuse_mountopts=$value ;;                              *)                                  # Passthru  | 
