linux/net/sunrpc/xprtrdma
Chuck Lever 7b2182ec38 xprtrdma: Fix handling of RDMA_ERROR replies
The RPC client currently doesn't handle ERR_CHUNK replies correctly.
rpcrdma_complete_rqst() incorrectly passes a negative number to
xprt_complete_rqst() as the number of bytes copied. Instead, set
task->tk_status to the error value, and return zero bytes copied.

In these cases, return -EIO rather than -EREMOTEIO. The RPC client's
finite state machine doesn't know what to do with -EREMOTEIO.

Additional clean ups:
- Don't double-count RDMA_ERROR replies
- Remove a stale comment

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: <stable@kernel.vger.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2020-06-22 09:34:35 -04:00
..
backchannel.c xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt 2020-03-27 10:47:25 -04:00
frwr_ops.c xprtrdma: Clean up synopsis of rpcrdma_flush_disconnect() 2020-06-22 09:34:35 -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 handling of RDMA_ERROR replies 2020-06-22 09:34:35 -04:00
svc_rdma_backchannel.c svcrdma: Remove backchannel dprintk call sites 2020-05-18 10:21:21 -04:00
svc_rdma_recvfrom.c svcrdma: Rename tracepoints that record header decoding errors 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 SUNRPC: Trace a few more generic svc_xprt events 2020-05-18 10:21:22 -04:00
svc_rdma.c sysctl: pass kernel pointers to ->proc_handler 2020-04-27 02:07:40 -04:00
transport.c xprtrdma: Use re_connect_status safely in rpcrdma_xprt_connect() 2020-06-22 09:34:35 -04:00
verbs.c xprtrdma: Clean up disconnect 2020-06-22 09:34:35 -04:00
xprt_rdma.h xprtrdma: Clean up disconnect 2020-06-22 09:34:35 -04:00