Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Feb 2010 20:00:21 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r203968 - in head/sys: modules/nfs_common modules/nfsclient modules/nfsserver nfs nfsclient nfsserver
Message-ID:  <201002162000.o1GK0Lhb020744@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Tue Feb 16 20:00:21 2010
New Revision: 203968
URL: http://svn.freebsd.org/changeset/base/203968

Log:
  Factor out the code shared between NFS client and server into its own
  module. With r203732 it became apparent that creating the sysctl nodes
  twice causes at least a warning, however the whole code shouldn't be
  present twice in the first place.
  
  Discussed with:	rmacklem

Added:
  head/sys/modules/nfs_common/
  head/sys/modules/nfs_common/Makefile   (contents, props changed)
Modified:
  head/sys/modules/nfsclient/Makefile
  head/sys/modules/nfsserver/Makefile
  head/sys/nfs/nfs_common.c
  head/sys/nfsclient/nfs_vfsops.c
  head/sys/nfsserver/nfs_srvsubs.c

Added: head/sys/modules/nfs_common/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/modules/nfs_common/Makefile	Tue Feb 16 20:00:21 2010	(r203968)
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../../nfs
+
+KMOD=	nfs_common
+SRCS=	nfs_common.c opt_nfs.h vnode_if.h
+
+.include <bsd.kmod.mk>

Modified: head/sys/modules/nfsclient/Makefile
==============================================================================
--- head/sys/modules/nfsclient/Makefile	Tue Feb 16 20:00:20 2010	(r203967)
+++ head/sys/modules/nfsclient/Makefile	Tue Feb 16 20:00:21 2010	(r203968)
@@ -1,11 +1,11 @@
 # $FreeBSD$
 
-.PATH: ${.CURDIR}/../../nfsclient ${.CURDIR}/../../nfs ${.CURDIR}/../../rpc
+.PATH: ${.CURDIR}/../../nfsclient ${.CURDIR}/../../rpc
 
 KMOD=	nfsclient
 SRCS=	vnode_if.h \
 	nfs_bio.c nfs_lock.c nfs_node.c nfs_subs.c nfs_nfsiod.c \
-	nfs_vfsops.c nfs_vnops.c nfs_common.c nfs_krpc.c \
+	nfs_vfsops.c nfs_vnops.c nfs_krpc.c \
 	opt_inet.h opt_nfs.h opt_bootp.h opt_nfsroot.h
 SRCS+=	opt_inet6.h opt_kdtrace.h opt_kgssapi.h
 

Modified: head/sys/modules/nfsserver/Makefile
==============================================================================
--- head/sys/modules/nfsserver/Makefile	Tue Feb 16 20:00:20 2010	(r203967)
+++ head/sys/modules/nfsserver/Makefile	Tue Feb 16 20:00:21 2010	(r203968)
@@ -1,9 +1,9 @@
 # $FreeBSD$
 
-.PATH: ${.CURDIR}/../../nfsserver ${.CURDIR}/../../nfs
+.PATH: ${.CURDIR}/../../nfsserver
 KMOD=	nfsserver
 SRCS=	vnode_if.h \
-	nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsubs.c nfs_common.c \
+	nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsubs.c \
 	opt_mac.h \
 	opt_kgssapi.h \
 	opt_nfs.h

Modified: head/sys/nfs/nfs_common.c
==============================================================================
--- head/sys/nfs/nfs_common.c	Tue Feb 16 20:00:20 2010	(r203967)
+++ head/sys/nfs/nfs_common.c	Tue Feb 16 20:00:21 2010	(r203968)
@@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/socket.h>
 #include <sys/stat.h>
 #include <sys/malloc.h>
+#include <sys/module.h>
 #include <sys/sysent.h>
 #include <sys/syscall.h>
 #include <sys/sysctl.h>
@@ -79,15 +80,15 @@ nfstype nfsv3_type[9] = {
 static void *nfsm_dissect_xx_sub(int s, struct mbuf **md, caddr_t *dpos,
     int how);
 
-SYSCTL_DECL(_vfs_nfs);
+SYSCTL_NODE(_vfs, OID_AUTO, nfs_common, CTLFLAG_RD, 0, "NFS common support");
 
 static int nfs_realign_test;
-SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_test, CTLFLAG_RD, &nfs_realign_test,
-    0, "Number of realign tests done");
+SYSCTL_INT(_vfs_nfs_common, OID_AUTO, realign_test, CTLFLAG_RD,
+    &nfs_realign_test, 0, "Number of realign tests done");
 
 static int nfs_realign_count;
-SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_count, CTLFLAG_RD, &nfs_realign_count,
-    0, "Number of mbuf realignments done");
+SYSCTL_INT(_vfs_nfs_common, OID_AUTO, realign_count, CTLFLAG_RD,
+    &nfs_realign_count, 0, "Number of mbuf realignments done");
 
 u_quad_t
 nfs_curusec(void)
@@ -404,3 +405,12 @@ nfs_realign(struct mbuf **pm, int how)
 	}
 	return (0);
 }
+
+static moduledata_t nfs_common_mod = {
+	"nfs_common",
+	NULL,
+	NULL
+};
+
+DECLARE_MODULE(nfs_common, nfs_common_mod, SI_SUB_VFS, SI_ORDER_ANY);
+MODULE_VERSION(nfs_common, 1);

Modified: head/sys/nfsclient/nfs_vfsops.c
==============================================================================
--- head/sys/nfsclient/nfs_vfsops.c	Tue Feb 16 20:00:20 2010	(r203967)
+++ head/sys/nfsclient/nfs_vfsops.c	Tue Feb 16 20:00:21 2010	(r203968)
@@ -147,6 +147,7 @@ MODULE_DEPEND(nfs, krpc, 1, 1, 1);
 #ifdef KGSSAPI
 MODULE_DEPEND(nfs, kgssapi, 1, 1, 1);
 #endif
+MODULE_DEPEND(nfs, nfs_common, 1, 1, 1);
 
 static struct nfs_rpcops nfs_rpcops = {
 	nfs_readrpc,

Modified: head/sys/nfsserver/nfs_srvsubs.c
==============================================================================
--- head/sys/nfsserver/nfs_srvsubs.c	Tue Feb 16 20:00:20 2010	(r203967)
+++ head/sys/nfsserver/nfs_srvsubs.c	Tue Feb 16 20:00:21 2010	(r203968)
@@ -560,6 +560,7 @@ DECLARE_MODULE(nfsserver, nfsserver_mod,
 MODULE_VERSION(nfsserver, 1);
 MODULE_DEPEND(nfsserver, nfssvc, 1, 1, 1);
 MODULE_DEPEND(nfsserver, krpc, 1, 1, 1);
+MODULE_DEPEND(nfsserver, nfs_common, 1, 1, 1);
 
 /*
  * Set up nameidata for a lookup() call and do it.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002162000.o1GK0Lhb020744>