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