# Copyright (C) 2006 OpenWrt.org
START=60
+STOP=60
+
+USE_PROCD=1
+
NFS_D=/var/lib/nfs
+LOCK_D=/var/lib/nfs/sm
-start() {
+start_service() {
+ grep -q /proc/fs/nfsd /proc/mounts || \
+ mount -t nfsd nfsd /proc/fs/nfsd
mkdir -p $NFS_D
+ mkdir -p $LOCK_D
touch $NFS_D/rmtab
-
- /usr/sbin/rpc.statd
+
+ sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 > /dev/null
+
+ procd_open_instance
+ procd_set_param command /usr/sbin/rpc.statd -p 32778 -o 32779 -F
+ procd_close_instance
+
/usr/sbin/exportfs -r
/usr/sbin/rpc.nfsd
- /usr/sbin/rpc.mountd
-}
-stop() {
- killall rpc.mountd 2> /dev/null
- killall -9 rpc.nfsd 2> /dev/null
- /usr/sbin/exportfs -au
- killall rpc.statd 2> /dev/null
+ procd_open_instance
+ procd_set_param command /usr/sbin/rpc.mountd -p 32780 -F
+ procd_close_instance
}
-reload() {
- /usr/sbin/exportfs -r
+stop_service() {
+ rpc.nfsd 0 2> /dev/null
+ /usr/sbin/exportfs -au
+ grep -q /proc/fs/nfsd /proc/mounts && \
+ umount /proc/fs/nfsd
}
-