diff options
author | Raghavendra Talur <rtalur@redhat.com> | 2013-10-07 13:08:49 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-10-08 09:22:00 -0700 |
commit | 11bb1fc5849a557d1a26e59bd651fbd0d07a1b8d (patch) | |
tree | 08cd90bc0189b9b09d8f5eae89947805c7001d32 /extras/hook-scripts/S30samba-set.sh | |
parent | 1f6b0f5cfc5abebe3a8facfb8b72e5554c1314d2 (diff) |
extras/hookscripts: Fix the multiple entries in smb.conf problem.
Problem:
1. Force starts and user.smb sets were adding multiple entries to
the smb.conf file for the same volume.
Make a check for the entry and search with exact name.
2. Again, while deleting the share name from smb.conf search with
exact name so that volumes with names which are substrings of ones to
be deleted don't get deleted.
3. We don't need to use a tmp file while using sed -i, fixed that.
Change-Id: Ie0f7c9d4790ef9a177a043378a761c9ffe1628e5
BUG: 994727
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6043
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
Tested-by: Lalatendu Mohanty <lmohanty@redhat.com>
Diffstat (limited to 'extras/hook-scripts/S30samba-set.sh')
-rwxr-xr-x | extras/hook-scripts/S30samba-set.sh | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/extras/hook-scripts/S30samba-set.sh b/extras/hook-scripts/S30samba-set.sh index 87cd31c5a2a..5047660fe7d 100755 --- a/extras/hook-scripts/S30samba-set.sh +++ b/extras/hook-scripts/S30samba-set.sh @@ -73,7 +73,7 @@ function add_samba_share () { function sighup_samba () { pid=`cat /var/run/smbd.pid` - if [ "$pid" != "" ] + if [ "x$pid" != "x" ] then kill -HUP "$pid"; else @@ -83,9 +83,7 @@ function sighup_samba () { function del_samba_share () { volname=$1 - cp /etc/samba/smb.conf /tmp/smb.conf - sed -i "/gluster-$volname/,/^$/d" /tmp/smb.conf &&\ - cp /tmp/smb.conf /etc/samba/smb.conf + sed -i "/\[gluster-$volname\]/,/^$/d" /etc/samba/smb.conf } function is_volume_started () { @@ -100,8 +98,10 @@ if [ "0" = $(is_volume_started "$VOL") ]; then fi if [ "$enable_smb" = "enable" ]; then - add_samba_share $VOL - sighup_samba + if ! grep --quiet "\[gluster-$VOL\]" /etc/samba/smb.conf ; then + add_samba_share $VOL + sighup_samba + fi elif [ "$enable_smb" = "disable" ]; then del_samba_share $VOL |