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