Silvan Calarco
5a46c160ef
nfslock initscript: remove pid files on stop and make better checks on start [release 1.2.9-3mamba;Sat May 10 2014]
88 lines
1.7 KiB
Bash
88 lines
1.7 KiB
Bash
#!/bin/bash
|
|
#
|
|
# rpcidmapd Start up and shut down RPC name to UID/GID mapper
|
|
#
|
|
# Authors: Chuck Lever <cel@netapp.com>
|
|
#
|
|
# chkconfig: 345 40 27
|
|
# description: Starts user-level daemon for NFSv4 that maps user \
|
|
# names to UID and GID numbers.
|
|
|
|
# Source function library.
|
|
. /etc/init.d/functions
|
|
|
|
# Source networking configuration.
|
|
if [ ! -f /etc/sysconfig/network ]; then
|
|
exit 0
|
|
fi
|
|
. /etc/sysconfig/network
|
|
|
|
# Check that networking is up.
|
|
[ "${NETWORKING}" = "no" ] && exit 0
|
|
|
|
[ ! -x /usr/sbin/rpc.idmapd ] && exit 0
|
|
|
|
OPTIONS=""
|
|
RETVAL=0
|
|
LOCKFILE=/var/lock/subsys/rpcidmapd
|
|
prog="rpc.idmapd"
|
|
|
|
case "$1" in
|
|
start|condstart)
|
|
# Make sure the daemon is not already running.
|
|
[ "$1" = "condstart" -a -n "`pidofproc $prog`" ] && {
|
|
killproc $prog "-SIGHUP" > /dev/null
|
|
exit 0
|
|
}
|
|
rm -f $LOCKFILE
|
|
|
|
echo -n $"Starting RPC idmapd: "
|
|
|
|
# mount the rpc_pipes fs.
|
|
[ -e /var/lib/nfs/rpc_pipefs/nfs ] || \
|
|
mount rpc_pipefs /var/lib/nfs/rpc_pipefs -t rpc_pipefs
|
|
|
|
# Make sure the mount worked.
|
|
[ -z "${RPCMTAB}" ] && RPCMTAB=`grep -v '^#' /proc/mounts | \
|
|
awk '{ if ($3 ~ /^rpc_pipefs$/ ) print $2}'`
|
|
[ -z "${RPCMTAB}" ] && {
|
|
echo "Error: RPC MTAB does not exist."
|
|
exit 1
|
|
}
|
|
|
|
# Start daemon.
|
|
daemon $prog ${OPTIONS}
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL -eq 0 ] && touch $LOCKFILE
|
|
;;
|
|
stop)
|
|
# Stop daemon.
|
|
echo -n $"Shutting down RPC idmapd: "
|
|
killproc $prog
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
|
|
;;
|
|
status)
|
|
status rpc.idmapd
|
|
RETVAL=$?
|
|
;;
|
|
restart|reload)
|
|
$0 stop
|
|
$0 start
|
|
RETVAL=$?
|
|
;;
|
|
condrestart)
|
|
if [ -f $LOCKFILE ]; then
|
|
$0 restart
|
|
RETVAL=$?
|
|
fi
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|restart|condstart|condrestart|status}"
|
|
exit 1
|
|
esac
|
|
|
|
exit $RETVAL
|