android_kernel_samsung_sm8650/net/sunrpc/xprtrdma
Chuck Lever ea740bd5f5 svcrdma: Fix backchannel return code
Way back when I was writing the RPC/RDMA server-side backchannel
code, I misread the TCP backchannel reply handler logic. When
svc_tcp_recvfrom() successfully receives a backchannel reply, it
does not return -EAGAIN. It sets XPT_DATA and returns zero.

Update svc_rdma_recvfrom() to return zero. Here, XPT_DATA doesn't
need to be set again: it is set whenever a new message is received,
behind a spin lock in a single threaded context.

Also, if handling the cb reply is not successful, the message is
simply dropped. There's no special message framing to deal with as
there is in the TCP case.

Now that the handle_bc_reply() return value is ignored, I've removed
the dprintk call sites in the error exit of handle_bc_reply() in
favor of trace points in other areas that already report the error
cases.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2020-05-18 10:21:21 -04:00
..
backchannel.c xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt 2020-03-27 10:47:25 -04:00
frwr_ops.c xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt 2020-03-27 10:47:25 -04:00
Makefile xprtrdma: Remove support for FMR memory registration 2019-01-02 12:05:17 -05:00
module.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
rpc_rdma.c xprtrdma: Fix use of xdr_stream_encode_item_{present, absent} 2020-04-20 10:45:01 -04:00
svc_rdma_backchannel.c svcrdma: Fix backchannel return code 2020-05-18 10:21:21 -04:00
svc_rdma_recvfrom.c svcrdma: Fix backchannel return code 2020-05-18 10:21:21 -04:00
svc_rdma_rw.c svcrdma: trace undersized Write chunks 2020-05-18 10:21:21 -04:00
svc_rdma_sendto.c SUNRPC: Move xpt_mutex into socket xpo_sendto methods 2020-05-18 10:21:21 -04:00
svc_rdma_transport.c svcrdma: Fix leak of svc_rdma_recv_ctxt objects 2020-04-17 12:40:38 -04:00
svc_rdma.c svcrdma: Remove svc_rdma_wq 2019-08-19 10:59:28 -04:00
transport.c xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt 2020-03-27 10:47:25 -04:00
verbs.c xprtrdma: Fix trace point use-after-free race 2020-04-20 10:44:01 -04:00
xprt_rdma.h xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt 2020-03-27 10:47:25 -04:00