mount: Added the xlator-option to mount.glusterfs script.

Now all xlator-options can be set from the mount command as well.
Example :
mount -t glusterfs Hostname:/Volume_Name Mount_Point -o "xlator-option=xyz=123, xlator-option=abc=999"

Change-Id: If52d994986839d1c969e3e2e01b2e1a29a3140b7
BUG: 920583
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/4660
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Shishir Gowda <sgowda@redhat.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
This commit is contained in:
Avra Sengupta 2013-03-12 17:03:53 +05:30 committed by Anand Avati
parent 7149682695
commit 71cb0ad45b
2 changed files with 56 additions and 0 deletions

50
extras/test/bug-920583.t Executable file
View File

@ -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;

View File

@ -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