diff options
author | Raghavendra Talur <rtalur@redhat.com> | 2014-11-04 16:44:58 +0530 |
---|---|---|
committer | Krishnan Parthasarathi <kparthas@redhat.com> | 2014-11-11 22:39:05 -0800 |
commit | 1800fba11260b348d06bfc21244c4ebc72bd7b95 (patch) | |
tree | dce81a075e6054a5fb71c7cd0f5e73bbaea036a8 /extras | |
parent | a24a354737577d466ed1c29be1c4fa6bf1a31e11 (diff) |
extras/hookscripts: Fix set behaviour for user.cifs and user.smb
Setting either of user.cifs or user.smb to disable should disable smb
shares when the smb share is already available.
Change-Id: I213ffca9cedc14107daeb30271d1f41dd9d7fcf4
BUG: 1105147
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/9042
Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jose A. Rivera <jarrpa@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'extras')
-rwxr-xr-x | extras/hook-scripts/set/post/S30samba-set.sh | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/extras/hook-scripts/set/post/S30samba-set.sh b/extras/hook-scripts/set/post/S30samba-set.sh index 4bac61f48a1..b8c5acf4cde 100755 --- a/extras/hook-scripts/set/post/S30samba-set.sh +++ b/extras/hook-scripts/set/post/S30samba-set.sh @@ -24,8 +24,8 @@ CONFIGFILE= LOGFILEBASE= PIDDIR= GLUSTERD_WORKDIR= - -enable_smb="" +USERSMB_SET="" +USERCIFS_SET="" function parse_args () { ARGS=$(getopt -l $OPTSPEC -o "o" -name $PROGNAME $@) @@ -47,10 +47,10 @@ function parse_args () { read key value < <(echo "$pair" | tr "=" " ") case "$key" in "user.cifs") - enable_smb=$value + USERCIFS_SET="YES" ;; "user.smb") - enable_smb=$value + USERSMB_SET="YES" ;; *) ;; @@ -101,7 +101,7 @@ function sighup_samba () { function del_samba_share () { volname=$1 - sed -i "/\[gluster-$volname\]/,/^$/d" /etc/samba/smb.conf + sed -i "/\[gluster-$volname\]/,/^$/d" ${CONFIGFILE} } function is_volume_started () { @@ -110,22 +110,38 @@ function is_volume_started () { cut -d"=" -f2)" } +function get_smb () { + volname=$1 + uservalue= + + usercifsvalue=$(grep user.cifs $GLUSTERD_WORKDIR/vols/"$volname"/info |\ + cut -d"=" -f2) + usersmbvalue=$(grep user.smb $GLUSTERD_WORKDIR/vols/"$volname"/info |\ + cut -d"=" -f2) + + if [[ $usercifsvalue = "disable" || $usersmbvalue = "disable" ]]; then + uservalue="disable" + fi + echo "$uservalue" +} + parse_args $@ if [ "0" = $(is_volume_started "$VOL") ]; then exit 0 fi -if [ "$enable_smb" = "enable" ]; then +if [[ "$USERCIFS_SET" = "YES" || "$USERSMB_SET" = "YES" ]]; then #Find smb.conf, smbd pid directory and smbd logfile path find_config_info - if ! grep --quiet "\[gluster-$VOL\]" /etc/samba/smb.conf ; then + + if [ $(get_smb "$VOL") = "disable" ]; then + del_samba_share $VOL + sighup_samba + else + if ! grep --quiet "\[gluster-$VOL\]" ${CONFIGFILE} ; then add_samba_share $VOL sighup_samba + fi fi - -elif [ "$enable_smb" = "disable" ]; then - find_config_info - del_samba_share $VOL - sighup_samba fi |