]> git.pld-linux.org Git - packages/nfs-utils.git/blame_incremental - nfs.init
- $RPCMOUNTDOPTS -> $RPCMOUNTOPTIONS in accordance with /etc/sysconfig/nfsd
[packages/nfs-utils.git] / nfs.init
... / ...
CommitLineData
1#!/bin/sh
2#
3# nfs This shell script takes care of starting and stopping
4# the NFS services.
5#
6# chkconfig: 345 60 20
7# description: NFS is a popular protocol for file sharing across TCP/IP \
8# networks. This service provides NFS server functionality, \
9# which is configured via the /etc/exports file.
10# probe: true
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/nfsd ] && . /etc/sysconfig/nfsd
20
21# Check that networking is up.
22if is_yes "${NETWORKING}"; then
23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
24 msg_network_down NFSD
25 exit 1
26 fi
27else
28 exit 0
29fi
30
31if [ -x /sbin/pidof ] && [ "$1" != "stop" ]; then
32 [ -z "`/sbin/pidof portmap`" ] && nls "Error: portmap isn't running" && exit 0
33fi
34
35# Sanity checks
36[ -x /usr/sbin/rpc.nfsd ] || exit 0
37[ -x /usr/sbin/rpc.mountd ] || exit 0
38[ -f /etc/exports ] || exit 0
39
40RETVAL=0
41# See how we were called.
42case "$1" in
43 start)
44 # Check if the service is already running?
45 if [ ! -f /var/lock/subsys/nfs ]; then
46 # Start daemons.
47 if [ "$NFSDTYPE" = "U" ]; then
48 msg_starting "NFS mountd"
49 daemon rpc.mountd
50 msg_starting "NFS daemon"
51 daemon rpc.nfsd
52 else
53 modprobe -s nfsd > /dev/null 2>&1
54 if [ "$(kernelverser)" -ge "002006" ] && \
55 grep -q nfsd /proc/filesystems && \
56 ! grep -q nfsd /proc/mounts; then
57 run_cmd "Mounting /proc/fs/nfsd filesystem" mount -t nfsd nfsd /proc/fs/nfsd
58 fi
59 msg_starting "NFS"
60 daemon /usr/sbin/exportfs -r
61 msg_starting "NFS mountd"
62 daemon rpc.mountd $RPCMOUNTOPTIONS
63 msg_starting "NFS daemon"
64 daemon rpc.nfsd $RPCNFSDCOUNT
65 fi
66 touch /var/lock/subsys/nfs
67 else
68 msg_already_running "NFS"
69 fi
70 ;;
71 stop)
72 if [ -f /var/lock/subsys/nfs ]; then
73 # Stop daemons.
74 if [ "$NFSDTYPE" = "U" ]; then
75 msg_stopping "NFS mountd"
76 killproc rpc.mountd
77 msg_stopping "NFS daemon"
78 killproc rpc.nfsd
79 else
80 msg_stopping "NFS mountd"
81 killproc rpc.mountd
82 msg_stopping "NFS daemon"
83 killproc nfsd -QUIT
84 msg_stopping "NFS"
85 daemon /usr/sbin/exportfs -au
86 fi
87 rm -f /var/lock/subsys/nfs
88 else
89 msg_not_running "NFS"
90 fi
91 ;;
92 status)
93 status rpc.mountd
94 RETVAL=$?
95 if [ "$NFSDTYPE" = "U" ]; then
96 status rpc.nfsd
97 else
98 status nfsd
99 fi
100 RET=$?
101 [ $RETVAL -eq 0 ] && RETVAL=$RET
102 ;;
103 restart)
104 $0 stop
105 $0 start
106 exit $?
107 ;;
108 force-reload)
109 if [ "$NFSDTYPE" = "U" ]; then
110 $0 restart
111 else
112 $0 reload
113 fi
114 exit $?
115 ;;
116 reload)
117 [ "$NFSDTYPE" = "U" ] && exit 0
118 if [ -f /var/lock/subsys/nfs ]; then
119 msg_reloading "NFS"
120 busy
121 /usr/sbin/exportfs
122 [ $? -ne 0 ] && RETVAL=7
123 [ $RETVAL -eq 0 ] && ok || died
124 else
125 msg_not_running "NFS" >&2
126 exit 7
127 fi
128 ;;
129 probe)
130 [ "$NFSDTYPE" = "U" ] && exit 0
131 if [ ! -f /var/lock/subsys/nfs ]; then
132 echo start
133 exit 0
134 fi
135 /sbin/pidof rpc.mountd >/dev/null 2>&1; MOUNTD="$?"
136 /sbin/pidof nfsd >/dev/null 2>&1; NFSD="$?"
137 if [ $MOUNTD = 1 -o $NFSD = 1 ]; then
138 echo restart
139 exit 0
140 fi
141 if [ /etc/exports -nt /var/lock/subsys/nfs ]; then
142 echo reload
143 exit 0
144 fi
145 ;;
146 *)
147 msg_usage "$0 {start|stop|restart|reload|force-reload|probe|status}"
148 exit 3
149esac
150
151exit $RETVAL
This page took 0.036042 seconds and 4 git commands to generate.