#!/bin/sh
#
# chkconfig: 345 48 52
# description: Automounts filesystems on demand
# processname: /usr/sbin/automount
# config: /etc/auto.master
# pidfile: /var/run/automount.pid

WITHOUT_RC_COMPAT=1

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

# Get config.
SourceIfNotEmpty /etc/sysconfig/autofs

PIDFILE=/var/run/automount.pid
LOCKFILE=/var/lock/subsys/autofs
DAEMONOPTIONS="$DAEMONOPTIONS -p $PIDFILE"

RETVAL=0

function start()
{
    if ! fgrep -qs autofs /proc/filesystems; then
	if ! modprobe autofs4 2>/dev/null; then
	    RETVAL=1
	    return $RETVAL
	fi
    fi

    start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root automount ${DAEMONOPTIONS}
    RETVAL=$?
    return $RETVAL
}

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

function restart()
{
    stop
    start
}

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

case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    status)
    status --pidfile "$PIDFILE" --expect-user root -- automount
    RETVAL=$?
    ;;
    reload)
    reload
    ;;
    restart)
    restart
    ;;
    condstop)
    if [ -e "$LOCKFILE" ]; then
	stop
    fi
    ;;
    condrestart)
    if [ -e "$LOCKFILE" ]; then
	restart
    fi
    ;;
    *)
    echo "Usage: ${0##*/} {start|stop|status|reload|restart|condstop|condrestart}"
    RETVAL=1
esac

exit $RETVAL
