#! /bin/sh

### BEGIN INIT INFO
# Provides:          global network block device client
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start and stop gnbd client
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/gnbd_import
NAME=gnbd_import
DESC="global network block device client"

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	if [ -e /etc/cluster/gnbdimports.conf ]; then
		if grep -q -v '^#' /etc/cluster/gnbdimports.conf; then
			if ! modprobe gnbd 2>&1; then
				echo "Warning unable to load gnbd kernel module"
			fi
			sleep 5
			grep -v "^#" /etc/cluster/gnbdimports.conf | grep -v "^[:space:]*$" | \
			while read server options; do
				gnbd_import -i $server $options
			done
			sleep 10
			echo "done."
		fi
	else
		echo "No configured imports."
	fi
	;;
  stop)
	echo -n "Releasing device(s): "
		gnbd_import -R
	echo "done."
	if ! modprobe -r gnbd 2>&1; then
		echo "Warning unable to unload gnbd kernel module"
	fi
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: "
	$0 stop
	sleep 1
	$0 start
	echo "$NAME."
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
