svcrdma: Modify the RPC recv path to use FRMR when available
authorTom Tucker <tom@opengridcomputing.com>
Tue, 12 Aug 2008 20:12:10 +0000 (15:12 -0500)
committerTom Tucker <tom@opengridcomputing.com>
Mon, 6 Oct 2008 19:46:01 +0000 (14:46 -0500)
commit146b6df6a537939570c5772ebd7db826fdbd5d82
tree1acf55f3244719e543fb5f6eed6de11c5dd3110e
parent5b180a9a64ca2217a658bd515ef910eafefc5e5a
svcrdma: Modify the RPC recv path to use FRMR when available

RPCRDMA requests that specify a read-list are fetched with RDMA_READ. Using
an FRMR to map the data sink improves NFSRDMA security on transports that
place the RDMA_READ data sink LKEY on the wire because the valid lifetime
of the MR is only the duration of the RDMA_READ. The LKEY is invalidated
when the last RDMA_READ WR completes.

Mapping the data sink also allows for very large amounts to data to be
fetched with a single WR, so if the client is also using FRMR, the entire
RPC read-list can be fetched with a single WR.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
include/linux/sunrpc/svc_rdma.h
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
net/sunrpc/xprtrdma/svc_rdma_transport.c