diff options
Diffstat (limited to 'abs/core-testing/nfs-utils/nfslock')
| -rwxr-xr-x | abs/core-testing/nfs-utils/nfslock | 50 | 
1 files changed, 50 insertions, 0 deletions
| diff --git a/abs/core-testing/nfs-utils/nfslock b/abs/core-testing/nfs-utils/nfslock new file mode 100755 index 0000000..f25ab3c --- /dev/null +++ b/abs/core-testing/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 | 
