#!/bin/sh

# the following is the LSB init header see
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
### BEGIN INIT INFO
# Provides: virtlockd
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Required-Start:
# Required-Stop:
# Should-Start: $network $remote_fs
# Should-Stop: $network $remote_fs
# Short-Description: virtual machine lock manager
# Description: This is a daemon for managing locks
#              on virtual machine disk images
### END INIT INFO

# the following is chkconfig init header
#
# virtlockd:   virtual machine lock manager
#
# chkconfig: 345 96 04
# description:  This is a daemon for managing locks \
#               on virtual machine disk images
#
# processname: virtlockd
# pidfile: /var/run/virtlockd.pid
#


# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

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

SERVICE=virtlockd
PIDFILE=/var/run/$SERVICE.pid
LOCKFILE=/var/lock/subsys/$SERVICE

VIRTLOCKD_ARGS=

SourceIfNotEmpty /etc/sysconfig/virtlockd

RETVAL=0

start() {
    start_daemon --pidfile $PIDFILE --lockfile "$LOCKFILE" --expect-user root -- "$SERVICE" --daemon $VIRTLOCKD_ARGS --pid-file "$PIDFILE"
    RETVAL=$?
    return $RETVAL
}

stop() {
    stop_daemon --pidfile $PIDFILE --lockfile "$LOCKFILE" --expect-user root -- "$SERVICE"
    RETVAL=$?
    return $RETVAL
}

restart() {
    stop
    start
}

reload() {
    msg_reloading "$SERVICE"
    stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- "$SERVICE"
    RETVAL=$?
    return $RETVAL
}

# See how we were called.
case "$1" in
    start|stop|restart|reload)
        $1
        ;;
    condstop)
        if [ -e "$LOCKFILE" ]; then
             stop
        fi
        ;;
    condrestart)
        if [ -e "$LOCKFILE" ]; then
             restart
        fi
        ;;
    condreload)
        if [ -e "$LOCKFILE" ]; then
             reload
        fi
        ;;
    status)
        status --pidfile $PIDFILE "$SERVICE"
        RETVAL=$?
        ;;
    *)
        msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
        RETVAL=1
esac

exit $RETVAL
