befec2e
#!/bin/bash
befec2e
#
befec2e
# xenstored	Script to start and stop the Xen control daemon.
befec2e
#
befec2e
# Author:       Daniel Berrange 
befec2e
#
befec2e
# chkconfig: 2345 96 01
befec2e
# description: Starts and stops the Xen xenstored daemon.
befec2e
### BEGIN INIT INFO
befec2e
# Provides:          xenstored
befec2e
# Required-Start:    $syslog $remote_fs
befec2e
# Should-Start:
befec2e
# Required-Stop:     $syslog $remote_fs
befec2e
# Should-Stop:
befec2e
# Default-Start:     3 4 5
befec2e
# Default-Stop:      0 1 2 6
befec2e
# Default-Enabled:   yes
befec2e
# Short-Description: Start/stop xenstored
befec2e
# Description:       Starts and stops the Xen xenstored daemon.
befec2e
### END INIT INFO
befec2e
befec2e
# Source function library.
befec2e
. /etc/rc.d/init.d/functions
befec2e
befec2e
if [ ! -d /proc/xen ]; then
befec2e
	exit 0
befec2e
fi
befec2e
if [ ! -f /proc/xen/capabilities ]; then
befec2e
	mount -t xenfs xen /proc/xen
befec2e
fi
befec2e
if ! grep -q "control_d" /proc/xen/capabilities ; then
befec2e
	exit 0
befec2e
fi
befec2e
befec2e
# Default config params
d48d28a
XENSTORED_PID="/var/run/xenstored.pid"
befec2e
XENSTORED_ARGS=
befec2e
befec2e
# User customized params
befec2e
test -f /etc/sysconfig/xenstored && . /etc/sysconfig/xenstored
befec2e
befec2e
start() {
befec2e
	echo -n $"Starting xenstored daemon: "
befec2e
	grep -q '/var/lib/xenstored' /proc/mounts
befec2e
	if test "$?" = "1"; then
befec2e
		mount -t tmpfs xenstore /var/lib/xenstored
befec2e
		restorecon -R /var/lib/xenstored
befec2e
	fi
befec2e
        /usr/sbin/xenstored --pid-file $XENSTORED_PID $XENSTORED_ARGS
befec2e
	RETVAL=$?
befec2e
	test $RETVAL = 0 && echo_success || echo_failure
befec2e
        echo
befec2e
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xenstored
befec2e
}
befec2e
befec2e
stop() {
befec2e
	echo -n $"Stopping xenstored daemon: "
befec2e
	# xenstored is not restartable.  So we refuse to stop it
befec2e
	# unless the machine is being shutdown or rebooted anyway.
befec2e
	if test "$runlevel" = "0" -o "$runlevel" = "6"; then
befec2e
		killproc xenstored > /dev/null
befec2e
		RETVAL=$?
befec2e
	else
befec2e
		RETVAL=1
befec2e
	fi
befec2e
	test $RETVAL = 0 && echo_success || echo_failure
befec2e
        echo
befec2e
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/xenstored
befec2e
}
befec2e
befec2e
rcstatus() {
befec2e
        status xenstored
befec2e
        RETVAL=$?
befec2e
	test $RETVAL = 0 && echo_success || echo_failure
befec2e
	echo
befec2e
}
befec2e
befec2e
RETVAL=0
befec2e
case "$1" in
befec2e
  start)
befec2e
        start
befec2e
	;;
befec2e
  stop)
befec2e
        stop
befec2e
	;;
befec2e
  status)
befec2e
        rcstatus
befec2e
	;;
befec2e
  *)
befec2e
	echo $"Usage: $0 {start|stop|status}"
befec2e
	exit 1
befec2e
esac
befec2e
befec2e
exit $RETVAL
befec2e