summaryrefslogtreecommitdiffstats
path: root/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
diff options
context:
space:
mode:
Diffstat (limited to 'extras/hook-scripts/stop/pre/S29CTDB-teardown.sh')
-rwxr-xr-xextras/hook-scripts/stop/pre/S29CTDB-teardown.sh72
1 files changed, 27 insertions, 45 deletions
diff --git a/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh b/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
index bfbd356b8fa..0975a00f18d 100755
--- a/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
+++ b/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
@@ -1,11 +1,10 @@
#! /bin/bash
-#non-portable - RHS-2.0 only
-SMB_CONF=/etc/samba/smb.conf
CTDB_MNT=/gluster/lock
PROGNAME="ctdb"
-OPTSPEC="volname:"
+OPTSPEC="volname:,last:"
VOL=
+LAST=
# $META is the volume that will be used by CTDB as a shared filesystem.
# It is not desirable to use this volume for storing 'data' as well.
# META is set to 'all' (viz. a keyword and hence not a legal volume name)
@@ -13,18 +12,8 @@ VOL=
# User needs to set META to the volume that serves CTDB lockfile.
META="all"
-function sighup_samba () {
- pid=`cat /var/run/smbd.pid`
- if [ "$pid" != "" ]
- then
- kill -HUP $pid;
- else
- /etc/init.d/smb start
- fi
-}
-
function parse_args () {
- ARGS=$(getopt -l $OPTSPEC -name $PROGNAME $@)
+ ARGS=$(getopt -o '' -l $OPTSPEC -n $PROGNAME -- "$@")
eval set -- "$ARGS"
while true; do
@@ -32,49 +21,42 @@ function parse_args () {
--volname)
shift
VOL=$1
- ;;
-
+ ;;
+ --last)
+ shift
+ LAST=$1
+ ;;
*)
- shift
- break
- ;;
-
+ shift
+ break
+ ;;
esac
-
shift
done
}
-function remove_ctdb_options () {
- IFS=$'\n'
- GLUSTER_CTDB_CONFIG=$'# ctdb config for glusterfs\n\tclustering = yes\n\tidmap backend = tdb2\n'
-
- for line in $GLUSTER_CTDB_CONFIG
- do
- sed -i /"$line"/d $SMB_CONF
- done
- unset IFS
-}
-
function remove_fstab_entry () {
- volname=$1
- mntpt=$2
- mntent="`hostname`:/$volname $mntpt glusterfs _netdev,defaults,transport=tcp 0 0"
- esc_mntent=$(echo -e "$mntent" | sed 's/\//\\\//g')
- exists=`grep "^$mntent" /etc/fstab`
- if [ "$exists" != " " ]
- then
- sed -i /"$esc_mntent"/d /etc/fstab
- fi
+ mntpt=$1
+ fstab="/etc/fstab"
+ exists=`grep "$mntpt" ${fstab}`
+ esc_mntpt=$(echo -e $mntpt | sed 's/\//\\\//g')
+ if [ "$exists" != " " ]
+ then
+ sed -i /"$esc_mntpt"/d $fstab
+ exists=`grep "$mntpt" ${fstab}`
+ if [ "$exists" != " " ]
+ then
+ echo "fstab entry cannot be removed for unknown reason"
+ exit 1
+ fi
+ fi
}
-parse_args $@
+parse_args "$@"
if [ "$META" = "$VOL" ]
then
umount "$CTDB_MNT"
chkconfig ctdb off
- remove_fstab_entry $VOL $CTDB_MNT
- remove_ctdb_options
- sighup_samba
+ remove_fstab_entry $CTDB_MNT
fi