2014-03-18 23:45:58

by Jeff Layton

[permalink] [raw]
Subject: [PATCH] xprtrdma: add separate Kconfig options for NFSoRDMA client and server support

There are two entirely separate modules under xprtrdma/ and there's no
reason that enabling one should automatically enable the other. Add
config options for each one so they can be enabled/disabled separately.

Signed-off-by: Jeff Layton <[email protected]>
---
net/sunrpc/Kconfig | 39 ++++++++++++++++++++++++++-------------
net/sunrpc/Makefile | 3 ++-
net/sunrpc/xprtrdma/Makefile | 4 ++--
3 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
index 241b54f30204..0754d0f466d2 100644
--- a/net/sunrpc/Kconfig
+++ b/net/sunrpc/Kconfig
@@ -9,19 +9,6 @@ config SUNRPC_BACKCHANNEL
bool
depends on SUNRPC

-config SUNRPC_XPRT_RDMA
- tristate
- depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
- default SUNRPC && INFINIBAND
- help
- This option allows the NFS client and server to support
- an RDMA-enabled transport.
-
- To compile RPC client RDMA transport support as a module,
- choose M here: the module will be called xprtrdma.
-
- If unsure, say N.
-
config SUNRPC_SWAP
bool
depends on SUNRPC
@@ -57,3 +44,29 @@ config SUNRPC_DEBUG
but makes troubleshooting NFS issues significantly harder.

If unsure, say Y.
+
+config SUNRPC_XPRT_RDMA_CLIENT
+ tristate "RPC over RDMA Client Support"
+ depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
+ default SUNRPC && INFINIBAND
+ help
+ This option allows the NFS client to support an RDMA-enabled
+ transport.
+
+ To compile RPC client RDMA transport support as a module,
+ choose M here: the module will be called xprtrdma.
+
+ 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.
diff --git a/net/sunrpc/Makefile b/net/sunrpc/Makefile
index 8209a0411bca..e5a7a1cac8f3 100644
--- a/net/sunrpc/Makefile
+++ b/net/sunrpc/Makefile
@@ -5,7 +5,8 @@

obj-$(CONFIG_SUNRPC) += sunrpc.o
obj-$(CONFIG_SUNRPC_GSS) += auth_gss/
-obj-$(CONFIG_SUNRPC_XPRT_RDMA) += xprtrdma/
+
+obj-y += xprtrdma/

sunrpc-y := clnt.o xprt.o socklib.o xprtsock.o sched.o \
auth.o auth_null.o auth_unix.o auth_generic.o \
diff --git a/net/sunrpc/xprtrdma/Makefile b/net/sunrpc/xprtrdma/Makefile
index 5a8f268bdd30..da5136fd5694 100644
--- a/net/sunrpc/xprtrdma/Makefile
+++ b/net/sunrpc/xprtrdma/Makefile
@@ -1,8 +1,8 @@
-obj-$(CONFIG_SUNRPC_XPRT_RDMA) += xprtrdma.o
+obj-$(CONFIG_SUNRPC_XPRT_RDMA_CLIENT) += xprtrdma.o

xprtrdma-y := transport.o rpc_rdma.o verbs.o

-obj-$(CONFIG_SUNRPC_XPRT_RDMA) += svcrdma.o
+obj-$(CONFIG_SUNRPC_XPRT_RDMA_SERVER) += svcrdma.o

svcrdma-y := svc_rdma.o svc_rdma_transport.o \
svc_rdma_marshal.o svc_rdma_sendto.o svc_rdma_recvfrom.o
--
1.8.5.3



2014-03-28 21:48:20

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] xprtrdma: add separate Kconfig options for NFSoRDMA client and server support

On Tue, Mar 18, 2014 at 07:45:47PM -0400, Jeff Layton wrote:
> There are two entirely separate modules under xprtrdma/ and there's no
> reason that enabling one should automatically enable the other. Add
> config options for each one so they can be enabled/disabled separately.

Thanks, applying.

--b.

>
> Signed-off-by: Jeff Layton <[email protected]>
> ---
> net/sunrpc/Kconfig | 39 ++++++++++++++++++++++++++-------------
> net/sunrpc/Makefile | 3 ++-
> net/sunrpc/xprtrdma/Makefile | 4 ++--
> 3 files changed, 30 insertions(+), 16 deletions(-)
>
> diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
> index 241b54f30204..0754d0f466d2 100644
> --- a/net/sunrpc/Kconfig
> +++ b/net/sunrpc/Kconfig
> @@ -9,19 +9,6 @@ config SUNRPC_BACKCHANNEL
> bool
> depends on SUNRPC
>
> -config SUNRPC_XPRT_RDMA
> - tristate
> - depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
> - default SUNRPC && INFINIBAND
> - help
> - This option allows the NFS client and server to support
> - an RDMA-enabled transport.
> -
> - To compile RPC client RDMA transport support as a module,
> - choose M here: the module will be called xprtrdma.
> -
> - If unsure, say N.
> -
> config SUNRPC_SWAP
> bool
> depends on SUNRPC
> @@ -57,3 +44,29 @@ config SUNRPC_DEBUG
> but makes troubleshooting NFS issues significantly harder.
>
> If unsure, say Y.
> +
> +config SUNRPC_XPRT_RDMA_CLIENT
> + tristate "RPC over RDMA Client Support"
> + depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
> + default SUNRPC && INFINIBAND
> + help
> + This option allows the NFS client to support an RDMA-enabled
> + transport.
> +
> + To compile RPC client RDMA transport support as a module,
> + choose M here: the module will be called xprtrdma.
> +
> + 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.
> diff --git a/net/sunrpc/Makefile b/net/sunrpc/Makefile
> index 8209a0411bca..e5a7a1cac8f3 100644
> --- a/net/sunrpc/Makefile
> +++ b/net/sunrpc/Makefile
> @@ -5,7 +5,8 @@
>
> obj-$(CONFIG_SUNRPC) += sunrpc.o
> obj-$(CONFIG_SUNRPC_GSS) += auth_gss/
> -obj-$(CONFIG_SUNRPC_XPRT_RDMA) += xprtrdma/
> +
> +obj-y += xprtrdma/
>
> sunrpc-y := clnt.o xprt.o socklib.o xprtsock.o sched.o \
> auth.o auth_null.o auth_unix.o auth_generic.o \
> diff --git a/net/sunrpc/xprtrdma/Makefile b/net/sunrpc/xprtrdma/Makefile
> index 5a8f268bdd30..da5136fd5694 100644
> --- a/net/sunrpc/xprtrdma/Makefile
> +++ b/net/sunrpc/xprtrdma/Makefile
> @@ -1,8 +1,8 @@
> -obj-$(CONFIG_SUNRPC_XPRT_RDMA) += xprtrdma.o
> +obj-$(CONFIG_SUNRPC_XPRT_RDMA_CLIENT) += xprtrdma.o
>
> xprtrdma-y := transport.o rpc_rdma.o verbs.o
>
> -obj-$(CONFIG_SUNRPC_XPRT_RDMA) += svcrdma.o
> +obj-$(CONFIG_SUNRPC_XPRT_RDMA_SERVER) += svcrdma.o
>
> svcrdma-y := svc_rdma.o svc_rdma_transport.o \
> svc_rdma_marshal.o svc_rdma_sendto.o svc_rdma_recvfrom.o
> --
> 1.8.5.3
>