diff options
| author | Peter Wemm <peter@FreeBSD.org> | 2001-09-20 02:15:17 +0000 |
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 2001-09-20 02:15:17 +0000 |
| commit | 4a0785aaff6f2fd314f3a56e591f30bd37c1f0c4 (patch) | |
| tree | 394d58338bc461a547e1dbc3456031fdbe3f5a31 /usr.sbin | |
| parent | fdccb1e8c9f03a711003b3071609f75de3dfd602 (diff) | |
Notes
Diffstat (limited to 'usr.sbin')
| -rw-r--r-- | usr.sbin/mountd/mountd.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 6c9fa0eb067c..b3f220eab506 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -268,8 +268,7 @@ main(argc, argv) int udpsock, tcpsock, udp6sock, tcp6sock; int xcreated = 0, s; int one = 1; - int c, error, mib[3]; - struct vfsconf vfc; + int c, error; udp6conf = tcp6conf = NULL; udp6sock = tcp6sock = NULL; @@ -285,15 +284,11 @@ main(argc, argv) have_v6 = 0; else close(s); - error = getvfsbyname("nfs", &vfc); - if (error && vfsisloadable("nfs")) { - if(vfsload("nfs")) - err(1, "vfsload(nfs)"); - endvfsent(); /* flush cache */ - error = getvfsbyname("nfs", &vfc); + if (modfind("nfsserver") < 0) { + /* Not present in kernel, try loading it */ + if (kldload("nfsserver") < 0 || modfind("nfsserver") < 0) + errx(1, "NFS server is not available or loadable"); } - if (error) - errx(1, "NFS support is not available in the running kernel"); while ((c = getopt(argc, argv, "2dlnr")) != -1) switch (c) { @@ -377,11 +372,9 @@ main(argc, argv) skip_v6: if (!resvport_only) { - mib[0] = CTL_VFS; - mib[1] = vfc.vfc_typenum; - mib[2] = NFS_NFSPRIVPORT; - if (sysctl(mib, 3, NULL, NULL, &resvport_only, - sizeof(resvport_only)) != 0 && errno != ENOENT) { + if (sysctlbyname("vfs.nfsrv.nfs_privport", NULL, NULL, + &resvport_only, sizeof(resvport_only)) != 0 && + errno != ENOENT) { syslog(LOG_ERR, "sysctl: %m"); exit(1); } |
