diff options
Diffstat (limited to 'abs/core/nfs-utils/nfslock')
-rwxr-xr-x | abs/core/nfs-utils/nfslock | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/abs/core/nfs-utils/nfslock b/abs/core/nfs-utils/nfslock new file mode 100755 index 0000000..f25ab3c --- /dev/null +++ b/abs/core/nfs-utils/nfslock @@ -0,0 +1,50 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/nfs ] && . /etc/conf.d/nfs + +. /etc/rc.conf +. /etc/rc.d/functions + +DAEMON_NAME=nfslock +PID=`pidof -o %PPID /usr/sbin/rpc.statd` +case "$1" in + start) + stat_busy "Starting $DAEMON_NAME" + # Check for /proc/fs/nfsd + if grep -qs nfsd /proc/filesystems ; then + if ! grep -qs "nfsd /proc/fs/nfsd" /proc/mounts ; then + mount -t nfsd -o nodev,noexec,nosuid nfsd /proc/fs/nfsd + fi + fi + [ -z "$PID" ] && /usr/sbin/rpc.statd $STATD_OPTS + if [ $? -gt 0 ]; then + stat_fail + else + echo `pidof rpc.statd` > /var/run/rpc.statd.pid + stat_done + add_daemon $DAEMON_NAME + fi + ;; + + stop) + stat_busy "Stopping $DAEMON_NAME" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/rpc.statd.pid &> /dev/null + rm_daemon $DAEMON_NAME + stat_done + fi + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 |