xref: /OK3568_Linux_fs/buildroot/package/nfs-utils/S60nfs (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# nfs           This shell script takes care of starting and stopping
4*4882a593Smuzhiyun#               the NFS services. Stolen from RedHat FC5.
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunmkdir -p /var/lock/subsys
7*4882a593Smuzhiyunmkdir -p /run/nfs/sm
8*4882a593Smuzhiyunmkdir -p /run/nfs/sm.bak
9*4882a593Smuzhiyuntouch /run/nfs/rmtab
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunCFG_FILE=/etc/default/nfsd
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunNR_THREADS=2
14*4882a593Smuzhiyunif [ -f "${CFG_FILE}" ]; then
15*4882a593Smuzhiyun	. "${CFG_FILE}"
16*4882a593Smuzhiyunfi
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunstart() {
20*4882a593Smuzhiyun	# Start daemons.
21*4882a593Smuzhiyun	printf "Starting NFS statd: "
22*4882a593Smuzhiyun	rpc.statd
23*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
24*4882a593Smuzhiyun	touch /var/lock/subsys/nfslock
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	printf "Starting NFS services: "
27*4882a593Smuzhiyun	/usr/sbin/exportfs -r
28*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	printf "Starting NFS daemon: "
31*4882a593Smuzhiyun	rpc.nfsd ${NR_THREADS}
32*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun	printf "Starting NFS mountd: "
35*4882a593Smuzhiyun	rpc.mountd
36*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
37*4882a593Smuzhiyun	touch /var/lock/subsys/nfs
38*4882a593Smuzhiyun}
39*4882a593Smuzhiyun
40*4882a593Smuzhiyunstop() {
41*4882a593Smuzhiyun	# Stop daemons.
42*4882a593Smuzhiyun	printf "Shutting down NFS mountd: "
43*4882a593Smuzhiyun	killall -q rpc.mountd 2>/dev/null
44*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	printf "Shutting down NFS daemon: "
47*4882a593Smuzhiyun	killall -q nfsd 2>/dev/null
48*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun	printf "Shutting down NFS services: "
51*4882a593Smuzhiyun	/usr/sbin/exportfs -au
52*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun	printf "Stopping NFS statd: "
55*4882a593Smuzhiyun	killall -q rpc.statd 2>/dev/null
56*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
57*4882a593Smuzhiyun	rm -f /var/lock/subsys/nfs
58*4882a593Smuzhiyun	rm -f /var/run/rpc.statd.pid
59*4882a593Smuzhiyun	rm -f /var/lock/subsys/nfslock
60*4882a593Smuzhiyun}
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun# See how we were called.
63*4882a593Smuzhiyuncase "$1" in
64*4882a593Smuzhiyun	start)
65*4882a593Smuzhiyun		start
66*4882a593Smuzhiyun		;;
67*4882a593Smuzhiyun	stop)
68*4882a593Smuzhiyun		stop
69*4882a593Smuzhiyun		;;
70*4882a593Smuzhiyun	restart)
71*4882a593Smuzhiyun		stop
72*4882a593Smuzhiyun		start
73*4882a593Smuzhiyun		;;
74*4882a593Smuzhiyun	reload)
75*4882a593Smuzhiyun		/usr/sbin/exportfs -r
76*4882a593Smuzhiyun		touch /var/lock/subsys/nfs
77*4882a593Smuzhiyun		;;
78*4882a593Smuzhiyun	*)
79*4882a593Smuzhiyun		echo "Usage: $0 {start|stop|restart|reload}"
80*4882a593Smuzhiyun		exit 1
81*4882a593Smuzhiyunesac
82*4882a593Smuzhiyun
83*4882a593Smuzhiyunexit 0
84