]> git.pld-linux.org Git - packages/nfs-utils.git/blame - nfslock.init
- sync idmapd.conf with reality from libnfsidmap
[packages/nfs-utils.git] / nfslock.init
CommitLineData
d419f9f1
JR
1#!/bin/sh
2#
ff100ffc 3# nfslock This shell script takes care of starting and stopping
4# the NFS file locking service.
d419f9f1 5#
fb01afbb 6# chkconfig: 345 14 81
d419f9f1
JR
7# description: NFS is a popular protocol for file sharing across \
8# TCP/IP networks. This service provides NFS file \
9# locking functionality.
f6619580 10# probe: true
d419f9f1
JR
11
12# Source function library.
13. /etc/rc.d/init.d/functions
14
15# Get network config
16. /etc/sysconfig/network
17
18# Get service config
19[ -f /etc/sysconfig/nfslock ] && . /etc/sysconfig/nfslock
20
21# Check that networking is up.
ff100ffc 22if is_yes "${NETWORKING}"; then
b69cfb4d 23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
ff100ffc 24 msg_network_down "NFS lockd"
25 exit 1
26 fi
27else
28 exit 0
d419f9f1
JR
29fi
30
31if [ -x /sbin/pidof ] && [ "$1" != "stop" ]; then
f6619580 32 [ -z "`/sbin/pidof portmap`" ] && nls "Error: portmap isn't running" && exit 0
d419f9f1
JR
33fi
34
fb01afbb
JR
35# /usr may be on NFS, fail silently, nfsfs will start it
36[ -x /usr/sbin/rpc.statd ] || exit 0
37
ad615b8a 38start() {
73f8a2e1
JB
39 # Check if the service is already running?
40 if [ ! -f /var/lock/subsys/nfslock ]; then
fb01afbb
JR
41 # Set the ports lockd should listen on
42 if [ -n "$LOCKD_TCPPORT" ]; then
43 /sbin/sysctl -w fs.nfs.nlm_tcpport=$LOCKD_TCPPORT >/dev/null 2>&1
44 fi
45 if [ -n "$LOCKD_UDPPORT" ]; then
46 /sbin/sysctl -w fs.nfs.nlm_udpport=$LOCKD_UDPPORT >/dev/null 2>&1
47 fi
48
49 [ -n "$STATD_PORT" ] && STATDOPTS="$STATDOPTS -p $STATD_PORT"
50 [ -n "$STATD_OUTPORT" ] && STATDOPTS="$STATDOPTS -o $STATD_OUTPORT"
51
73f8a2e1
JB
52 # Start daemons.
53 msg_starting "NFS statd"
d39c0868 54 daemon rpc.statd $STATDOPTS
5246d326 55 RETVAL=$?
56 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock
73f8a2e1 57 else
ff100ffc 58 msg_already_running "NFS statd"
73f8a2e1 59 fi
ad615b8a
ER
60}
61
62stop() {
ff100ffc 63 if [ -f /var/lock/subsys/nfslock ]; then
fb01afbb
JR
64 # Reset the lockd ports if they were set
65 if [ -n "$LOCKD_TCPPORT" ]; then
66 /sbin/sysctl -w fs.nfs.nlm_tcpport=0 >/dev/null 2>&1
67 fi
68 if [ -n "$LOCKD_UDPPORT" ]; then
69 /sbin/sysctl -w fs.nfs.nlm_udpport=0 >/dev/null 2>&1
70 fi
73f8a2e1
JB
71 # Stop daemons.
72 msg_stopping "NFS statd"
73 killproc rpc.statd
74 rm -f /var/lock/subsys/nfslock
75 else
ff100ffc 76 msg_not_running "NFS statd"
73f8a2e1 77 fi
ad615b8a
ER
78}
79
80RETVAL=0
81# See how we were called.
82case "$1" in
83 start)
84 start
85 ;;
86 stop)
87 stop
d419f9f1
JR
88 ;;
89 status)
d419f9f1 90 status rpc.statd
5246d326 91 exit $?
d419f9f1 92 ;;
5246d326 93 restart|force-reload)
ad615b8a
ER
94 stop
95 start
d419f9f1
JR
96 ;;
97 probe)
5da51246 98 if [ ! -f /var/lock/subsys/nfslock ]; then
ff100ffc 99 echo start
100 exit 0
d419f9f1
JR
101 fi
102 /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"
5da51246 103 if [ $STATD = 1 ]; then
ff100ffc 104 echo restart
105 exit 0
d419f9f1
JR
106 fi
107 ;;
108 *)
5246d326 109 msg_usage "$0 {start|stop|restart|force-reload|probe|status}"
110 exit 3
d419f9f1
JR
111esac
112
5246d326 113exit $RETVAL
This page took 0.050429 seconds and 4 git commands to generate.