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> |
||
|---|---|---|
| .. | ||
| backchannel.c | ||
| frwr_ops.c | ||
| Makefile | ||
| module.c | ||
| rpc_rdma.c | ||
| svc_rdma_backchannel.c | ||
| svc_rdma_recvfrom.c | ||
| svc_rdma_rw.c | ||
| svc_rdma_sendto.c | ||
| svc_rdma_transport.c | ||
| svc_rdma.c | ||
| transport.c | ||
| verbs.c | ||
| xprt_rdma.h | ||