summaryrefslogtreecommitdiffstats
path: root/sys/rpc/rpc_generic.c
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2008-03-27 11:54:20 +0000
committerdfr <dfr@FreeBSD.org>2008-03-27 11:54:20 +0000
commitdc98ee4196c8969bd3d587924ee9e570228ec62f (patch)
tree567b9aa2e60465e9958f917ce391a9eb7692527f /sys/rpc/rpc_generic.c
parent34e730ca273d9bd38d9081bc80c78688c6abdd4c (diff)
downloadFreeBSD-src-dc98ee4196c8969bd3d587924ee9e570228ec62f.zip
FreeBSD-src-dc98ee4196c8969bd3d587924ee9e570228ec62f.tar.gz
Add kernel module support for nfslockd and krpc. Use the module system
to detect (or load) kernel NLM support in rpc.lockd. Remove the '-k' option to rpc.lockd and make kernel NLM the default. A user can still force the use of the old user NLM by building a kernel without NFSLOCKD and/or removing the nfslockd.ko module.
Diffstat (limited to 'sys/rpc/rpc_generic.c')
-rw-r--r--sys/rpc/rpc_generic.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/rpc/rpc_generic.c b/sys/rpc/rpc_generic.c
index c2a898b..8d4c80f 100644
--- a/sys/rpc/rpc_generic.c
+++ b/sys/rpc/rpc_generic.c
@@ -44,7 +44,9 @@ __FBSDID("$FreeBSD$");
#include "opt_inet6.h"
#include <sys/param.h>
+#include <sys/kernel.h>
#include <sys/malloc.h>
+#include <sys/module.h>
#include <sys/proc.h>
#include <sys/protosw.h>
#include <sys/sbuf.h>
@@ -714,3 +716,22 @@ __rpc_sockisbound(struct socket *so)
return bound;
}
+
+/*
+ * Kernel module glue
+ */
+static int
+krpc_modevent(module_t mod, int type, void *data)
+{
+
+ return (0);
+}
+static moduledata_t krpc_mod = {
+ "krpc",
+ krpc_modevent,
+ NULL,
+};
+DECLARE_MODULE(krpc, krpc_mod, SI_SUB_VFS, SI_ORDER_ANY);
+
+/* So that loader and kldload(2) can find us, wherever we are.. */
+MODULE_VERSION(krpc, 1);
OpenPOWER on IntegriCloud