X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=debian%2Fnfs-common.init;h=a93097661f64d772b8b38052d1040cdd5d03a67f;hp=59fc59df6fecad7429ec9b24a762a5b72675630e;hb=11e2834381fa3eb7b6ef6420241532896f2900bf;hpb=5bf7310498337de9c05f7b6780b29a3ef5cf6bac diff --git a/debian/nfs-common.init b/debian/nfs-common.init old mode 100755 new mode 100644 index 59fc59d..a930976 --- a/debian/nfs-common.init +++ b/debian/nfs-common.init @@ -1,15 +1,15 @@ #!/bin/sh -# -# nfs-common This shell script takes care of starting and stopping -# common daemons required for NFS clients and servers. -# -# chkconfig: 345 20 80 -# description: NFS is a popular protocol for file sharing across \ -# TCP/IP networks. This service provides NFS file \ -# locking functionality. -# -set -e +### BEGIN INIT INFO +# Provides: nfs-common +# Required-Start: $time +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: NFS support files common to client and server +# Description: NFS is a popular protocol for file sharing across +# TCP/IP networks. This service provides various +# support functions for NFS mounts. +### END INIT INFO # What is this? DESC="NFS common utilities" @@ -18,10 +18,16 @@ DESC="NFS common utilities" DEFAULTFILE=/etc/default/nfs-common PREFIX= NEED_LOCKD= +NEED_IDMAPD= +NEED_GSSD= +PIPEFS_MOUNTPOINT=/var/lib/nfs/rpc_pipefs +RPCGSSDOPTS= if [ -f $DEFAULTFILE ]; then . $DEFAULTFILE fi +. /lib/lsb/init-functions + # Determine whether lockd daemon is required. case "$NEED_LOCKD" in yes|no) ;; @@ -44,39 +50,228 @@ yes|no) ;; ;; esac +# +# Parse the fstab file, and determine whether we need idmapd and gssd. (The +# /etc/defaults settings, if any, will override our autodetection.) This code +# is partially adapted from the mountnfs.sh script in the sysvinit package. +# +AUTO_NEED_IDMAPD=no +AUTO_NEED_GSSD=no + +exec 9<&0 /dev/null || true + log_end_msg 0 + ;; + + status) + if ! pidof rpc.statd >/dev/null + then + echo "rpc.statd not running" + exit 3 + fi + + if [ "$NEED_GSSD" = yes ] + then + if ! pidof rpc.gssd >/dev/null + then + echo "rpc.statd running, but rpc.gssd halted" + exit 3 + fi + fi + + if [ "$NEED_LOCKD" = yes ] + then + if ! pidof rpc.lockd >/dev/null + then + echo "rpc.statd running, but rpc.lockd halted" + exit 3 + fi + fi + + if [ "$NEED_IDMAPD" = yes ] + then + if ! pidof rpc.idmapd >/dev/null + then + echo "rpc.statd running, but rpc.idmapd halted" + exit 3 + fi + fi + + echo "rpc.statd running" + exit 0 ;; restart | force-reload) @@ -86,7 +281,7 @@ case "$1" in ;; *) - echo "Usage: nfs-common {start|stop|restart}" + log_success_msg "Usage: nfs-common {start|stop|status|restart}" exit 1 ;; esac