summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaghavendra Talur <rtalur@redhat.com>2014-11-04 16:44:58 +0530
committerKrishnan Parthasarathi <kparthas@redhat.com>2014-11-11 22:39:05 -0800
commit1800fba11260b348d06bfc21244c4ebc72bd7b95 (patch)
treedce81a075e6054a5fb71c7cd0f5e73bbaea036a8
parenta24a354737577d466ed1c29be1c4fa6bf1a31e11 (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>
-rwxr-xr-xextras/hook-scripts/set/post/S30samba-set.sh40
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