#!/bin/sh
# libvirtd:   guest and virtual network management daemon
#
# chkconfig: 345 97 03
# description:  This is a daemon for managing guest instances
#               and libvirt virtual networks
#               See http://libvirt.org
#
# processname: libvirtd
#

LIBVIRTD_CONFIG=
LIBVIRTD_ARGS=

LIBVIRTD_CONFIG_ARGS=
if [ -n "$LIBVIRTD_CONFIG" ]
then
    LIBVIRTD_CONFIG_ARGS="--config $LIBVIRTD_CONFIG"
fi

# Source function library.
. /etc/rc.d/init.d/functions

sconf="/etc/libvirt/libvirtd.conf"

# Source config
if [ -f /etc/sysconfig/libvirtd ] ; then
        . /etc/sysconfig/libvirtd
fi


start() {
        if [ ! -f /var/lock/subsys/libvirtd ]; then
                umask 077
                msg_starting libvirtd
                daemon libvirtd libvirtd --daemon $LIBVIRTD_CONFIG_ARGS $LIBVIRTD_ARGS
                RETVAL=$?
                [ $RETVAL -eq 0 ] && touch /var/lock/subsys/libvirtd
        else
                msg_already_running libvirtd
        fi
}

stop() {
        if [ -f /var/lock/subsys/libvirtd ]; then
                msg_stopping libvirtd
                killproc libvirtd
                rm -f /var/lock/subsys/libvirtd
        else
                msg_not_running libvirtd
        fi
}

reload() {
	if [ ! -f /var/lock/subsys/libvirtd ]; then
		msg_not_running libvirtd
		RETVAL=7
		return
	fi

	msg_reloading libvirtd
	killproc libvirtd -HUP
	RETVAL=$?
}

condrestart() {
        if [ -f /var/lock/subsys/libvirtd ]; then
                stop
                start
        else
                msg_not_running libvirtd
                RETVAL=$1
        fi
}

RETVAL=0
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        start
        ;;
  try-restart)
        condrestart 0
        ;;
  reload|force-reload)
	reload
	;;
  status)
        status libvirtd
        ;;
  *)
        msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
        exit 3
esac

exit $RETVAL
