linux/net/sunrpc/xprtrdma
Chuck Lever 0b056c224b svcrdma: Support RDMA_NOMSG requests
Currently the Linux server can not decode RDMA_NOMSG type requests.
Operations whose length exceeds the fixed size of RDMA SEND buffers,
like large NFSv4 CREATE(NF4LNK) operations, must be conveyed via
RDMA_NOMSG.

For an RDMA_MSG type request, the client sends the RPC/RDMA, RPC
headers, and some or all of the NFS arguments via RDMA SEND.

For an RDMA_NOMSG type request, the client sends just the RPC/RDMA
header via RDMA SEND. The request's read list contains elements for
the entire RPC message, including the RPC header.

NFSD expects the RPC/RMDA header and RPC header to be contiguous in
page zero of the XDR buffer. Add logic in the RDMA READ path to make
the read list contents land where the server prefers, when the
incoming message is a type RDMA_NOMSG message.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-01-15 15:01:47 -05:00
..
Makefile xprtrdma: add separate Kconfig options for NFSoRDMA client and server support 2014-03-28 18:02:12 -04:00
rpc_rdma.c sunrpc: eliminate RPC_DEBUG 2014-11-24 17:31:46 -05:00
svc_rdma_marshal.c svcrdma: Clean up read chunk counting 2015-01-15 15:01:44 -05:00
svc_rdma_recvfrom.c svcrdma: Support RDMA_NOMSG requests 2015-01-15 15:01:47 -05:00
svc_rdma_sendto.c svcrdma: Find rmsgp more reliably 2015-01-15 15:01:45 -05:00
svc_rdma_transport.c svcrdma: Plant reader function in struct svcxprt_rdma 2015-01-15 15:01:46 -05:00
svc_rdma.c net: Convert uses of typedef ctl_table to struct ctl_table 2013-06-13 02:36:09 -07:00
transport.c NFS: Client side changes for RDMA 2014-11-26 17:37:13 -05:00
verbs.c NFS: Client side changes for RDMA 2014-11-26 17:37:13 -05:00
xprt_rdma.h xprtrdma: Cap req_cqinit 2014-11-25 13:39:20 -05:00