]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
svcrdma: Use generic RDMA R/W API in RPC Call path
authorChuck Lever <chuck.lever@oracle.com>
Fri, 23 Jun 2017 21:18:33 +0000 (17:18 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 12 Jul 2017 19:54:56 +0000 (15:54 -0400)
commitcafc739892f34b9090413179ca259409fc43bfae
tree8e9b937a90238519f7d41e2fe918bdc159b31196
parent026d958b38c628a1b4ced534808945365e2747a5
svcrdma: Use generic RDMA R/W API in RPC Call path

The current svcrdma recvfrom code path has a lot of detail about
registration mode and the type of port (iWARP, IB, etc).

Instead, use the RDMA core's generic R/W API. This shares code with
other RDMA-enabled ULPs that manages the gory details of buffer
registration and the posting of RDMA Read Work Requests.

Since the Read list marshaling code is being replaced, I took the
opportunity to replace C structure-based XDR encoding code with more
portable code that uses pointer arithmetic.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
include/linux/sunrpc/svc_rdma.h
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
net/sunrpc/xprtrdma/svc_rdma_transport.c