aboutsummaryrefslogtreecommitdiff
path: root/etc/rc.d/network1
diff options
context:
space:
mode:
authorDoug Barton <dougb@FreeBSD.org>2001-10-19 06:50:52 +0000
committerDoug Barton <dougb@FreeBSD.org>2001-10-19 06:50:52 +0000
commit74e07b9e48517b43c3488a605f62b91063d58553 (patch)
tree5a57b7cd7dc4e20b37f96bec6cef5dca0ffdacce /etc/rc.d/network1
parentf1ef0a68b0a8b3fe4bb6d54e2806043bb4b8c41a (diff)
downloadsrc-74e07b9e48517b43c3488a605f62b91063d58553.tar.gz
src-74e07b9e48517b43c3488a605f62b91063d58553.zip
Handle the lack of nfs server or client support in the kernel by
kldload'ing the appropriate modules before enabling the service.
Notes
Notes: svn path=/head/; revision=85136
Diffstat (limited to 'etc/rc.d/network1')
-rw-r--r--etc/rc.d/network113
1 files changed, 12 insertions, 1 deletions
diff --git a/etc/rc.d/network1 b/etc/rc.d/network1
index 67c88a0f805b..8f3f5a6ad1af 100644
--- a/etc/rc.d/network1
+++ b/etc/rc.d/network1
@@ -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
;;
*)