cad6068
#!/bin/bash
cad6068
#
cad6068
# drbdlinksclean Clean up drbdlinks links on system boot or shutdown
cad6068
#
cad6068
# chkconfig: - 74 06
cad6068
# description: Calls drbdlinks on initial system boot and shutdown to make \
cad6068
#              sure that any links set up by drbdlinks are cleaned up when \
cad6068
#              drbd is not running.
cad6068
# config: /etc/drbdlinks.conf
cad6068
cad6068
### BEGIN INIT INFO
cad6068
# Provides: drbdlinksclean
cad6068
# Required-Start: $local_fs $remote_fs
cad6068
# Required-Stop: $local_fs $remote_fs
cad6068
# Short-Description: Clean up drbdlinks links on system boot or shutdown
cad6068
# Description: Calls drbdlinks on initial system boot and shutdown to make
cad6068
#              sure that any links set up by drbdlinks are cleaned up when
cad6068
#              drbd is not running.
cad6068
### END INIT INFO
cad6068
cad6068
# Source function library.
cad6068
. /etc/rc.d/init.d/functions
cad6068
cad6068
RETVAL=0
cad6068
FOUNDFILE=0
cad6068
drbdlinks=/usr/sbin/drbdlinks
cad6068
cad6068
[ -f /etc/drbdlinks.conf ] && FOUNDFILE=1
cad6068
cad6068
for FILE in /var/run/drbdlinks/configs-to-clean/*; do
cad6068
	if [ -f "$FILE" ]; then
cad6068
		FOUNDFILE=1
cad6068
		break
cad6068
	fi
cad6068
done
cad6068
cad6068
if [ $FOUNDFILE -ne 1 ]; then
cad6068
   echo "No /etc/drbdlinks.conf file, aborting."
cad6068
   exit 1
cad6068
fi
cad6068
cad6068
# See how we were called.
cad6068
case "$1" in
cad6068
	start|stop|restart|force-reload)
cad6068
		echo -n "Cleaning up drbdlinks.conf links..."
cad6068
cad6068
		# Main drbdlinks.conf file
cad6068
		if [ -f /etc/drbdlinks.conf ]; then
cad6068
			if grep -q '^mountpoint(' /etc/drbdlinks.conf; then
cad6068
				$drbdlinks stop
cad6068
				RETVAL=$?
cad6068
			else
cad6068
				echo "No mountpoint found in /etc/drbdlinks.conf, skipping."
cad6068
			fi
cad6068
		fi
cad6068
cad6068
		#  clean up any supplemental config files
cad6068
		for FILE in /var/run/drbdlinks/configs-to-clean/*; do
cad6068
			if [ -f "$FILE" ]; then
cad6068
				echo -n "Cleaning up '${FILE##*/}' links..."
cad6068
				$drbdlinks --config-file "$FILE" stop || RETVAL=$?
cad6068
			fi
cad6068
		done
cad6068
cad6068
		[ $RETVAL -eq 0 ] && echo_success || echo_failure
cad6068
		echo
cad6068
		;;
cad6068
	status)
cad6068
		$drbdlinks status
cad6068
		;;
cad6068
	*)
cad6068
		echo $"Usage: drbdlinksclean {start|stop|status|restart|force-reload}"
cad6068
		RETVAL=1
cad6068
		;;
cad6068
esac
cad6068
cad6068
exit $RETVAL