summaryrefslogtreecommitdiffstats
path: root/etc/rc.network
diff options
context:
space:
mode:
authordougb <dougb@FreeBSD.org>2001-10-19 06:50:52 +0000
committerdougb <dougb@FreeBSD.org>2001-10-19 06:50:52 +0000
commit2d4b0d066d5e32c2701543e212e460819076cf93 (patch)
tree5a57b7cd7dc4e20b37f96bec6cef5dca0ffdacce /etc/rc.network
parentad52e8338dc5073d23b96860d4f52e3df9cfe998 (diff)
downloadFreeBSD-src-2d4b0d066d5e32c2701543e212e460819076cf93.zip
FreeBSD-src-2d4b0d066d5e32c2701543e212e460819076cf93.tar.gz
Handle the lack of nfs server or client support in the kernel by
kldload'ing the appropriate modules before enabling the service.
Diffstat (limited to 'etc/rc.network')
-rw-r--r--etc/rc.network13
1 files changed, 12 insertions, 1 deletions
diff --git a/etc/rc.network b/etc/rc.network
index 67c88a0..8f3f5a6 100644
--- a/etc/rc.network
+++ b/etc/rc.network
@@ -605,7 +605,16 @@ network_pass3() {
[Yy][Ee][Ss])
case ${nfs_server_enable} in
[Yy][Ee][Ss])
- if [ -r /etc/exports ]; then
+ # Handle absent nfs server support
+ nfsserver_in_kernel=0
+ if sysctl vfs.nfsrv >/dev/null 2>&1; then
+ nfsserver_in_kernel=1
+ else
+ kldload nfsserver && nfsserver_in_kernel=1
+ fi
+
+ if [ -r /etc/exports -a \
+ ${nfsserver_in_kernel} -eq 1 ]; then
echo -n ' mountd'
case ${weak_mountd_authentication} in
@@ -636,6 +645,8 @@ network_pass3() {
echo -n ' rpc.statd'; rpc.statd
;;
esac
+ else
+ echo -n ' Warning: nfs server failed'
fi
;;
*)
OpenPOWER on IntegriCloud