#!/bin/bash exec 2>&1 export TERM=linux . /etc/rc.conf . /etc/rc.d/functions stat_runit "Starting NFSD" # Make sure the statd daemon is up # (the statd service must ensure portmap is running first) svwaitup /var/service/nfs-common >/dev/null 2>/dev/null source /etc/conf.d/nfs-server.conf NFSD="/usr/bin/rpc.nfsd" # Default number of nfsd servers [ -z "$NFSD_COUNT" ] && NFSD_COUNT=8 # Default mountpoint and options for nfsd filesystem [ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd" [ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid" do_modprobe() { if [ -x /usr/bin/modprobe -a -f /proc/modules ]; then modprobe -q "$1" || true fi } do_mount() { if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then return 1 fi if grep -vw "$1" /proc/mounts &> /dev/null ; then if ! mountpoint -q "$2" ; then mount -t "$1" "$1" "$2" -o "$3" return fi fi return 0 } do_umount() { if mountpoint -q "$1" ; then umount "$1" fi return 0 } # start some nfsd threads printhl " Using ${NFSD_OPTS} " do_modprobe nfsd do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS" # Re-export all directories in /etc/exports /usr/bin/exportfs -ra > /dev/null 2>/dev/null $NFSD $NFSD_OPTS $NFSD_COUNT # exec /usr/bin/rpc.mountd --foreground >/dev/null 2>/dev/null