rpcrdma: Merge svcrdma and xprtrdma modules into one
authorChuck Lever <chuck.lever@oracle.com>
Thu, 4 Jun 2015 15:21:42 +0000 (11:21 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 4 Jun 2015 20:56:02 +0000 (16:56 -0400)
Bi-directional RPC support means code in svcrdma.ko invokes a bit of
code in xprtrdma.ko, and vice versa. To avoid loader/linker loops,
merge the server and client side modules together into a single
module.

When backchannel capabilities are added, the combined module will
register all needed transport capabilities so that Upper Layer
consumers automatically have everything needed to create a
bi-directional transport connection.

Module aliases are added for backwards compatibility with user
space, which still may expect svcrdma.ko or xprtrdma.ko to be
present.

This commit reverts commit 2e8c12e1b765 ("xprtrdma: add separate
Kconfig options for NFSoRDMA client and server support") and
provides a single CONFIG option for enabling the new module.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/Kconfig
net/sunrpc/Makefile
net/sunrpc/xprtrdma/Makefile
net/sunrpc/xprtrdma/module.c [new file with mode: 0644]
net/sunrpc/xprtrdma/svc_rdma.c
net/sunrpc/xprtrdma/transport.c
net/sunrpc/xprtrdma/xprt_rdma.h

index 9068e72..04ce2c0 100644 (file)
@@ -48,28 +48,16 @@ config SUNRPC_DEBUG
 
          If unsure, say Y.
 
-config SUNRPC_XPRT_RDMA_CLIENT
-       tristate "RPC over RDMA Client Support"
+config SUNRPC_XPRT_RDMA
+       tristate "RPC-over-RDMA transport"
        depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
        default SUNRPC && INFINIBAND
        help
-         This option allows the NFS client to support an RDMA-enabled
-         transport.
+         This option allows the NFS client and server to use RDMA
+         transports (InfiniBand, iWARP, or RoCE).
 
-         To compile RPC client RDMA transport support as a module,
-         choose M here: the module will be called xprtrdma.
+         To compile this support as a module, choose M. The module
+         will be called rpcrdma.ko.
 
-         If unsure, say N.
-
-config SUNRPC_XPRT_RDMA_SERVER
-       tristate "RPC over RDMA Server Support"
-       depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
-       default SUNRPC && INFINIBAND
-       help
-         This option allows the NFS server to support an RDMA-enabled
-         transport.
-
-         To compile RPC server RDMA transport support as a module,
-         choose M here: the module will be called svcrdma.
-
-         If unsure, say N.
+         If unsure, or you know there is no RDMA capability on your
+         hardware platform, say N.
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge