#!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=99 STOP=60 USE_PROCD=1 NFS_D=/var/lib/nfs RECOVERY_D=$NFS_D/v4recovery LOCK_D=/var/lib/nfs/sm VAR_NFS=/var/lib/nfs start_service() { grep -q /proc/fs/nfsd /proc/mounts || \ mount -t nfsd nfsd /proc/fs/nfsd mkdir -p $NFS_D mkdir -p $RECOVERY_D mkdir -p $LOCK_D touch $NFS_D/rmtab mkdir -p $VAR_NFS chown nfs:nfs $VAR_NFS 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 --grace-time 10 procd_open_instance procd_set_param command /usr/sbin/rpc.mountd -p 32780 -F procd_close_instance } stop_service() { rpc.nfsd 0 2> /dev/null /usr/sbin/exportfs -au grep -q /proc/fs/nfsd /proc/mounts && \ umount /proc/fs/nfsd } service_triggers() { local export_dirs="$(while read mp _r ; do echo -n "$mp " ; done < /etc/exports)" procd_add_reload_mount_trigger $export_dirs }