Commit 197115eb authored by Chuck Lever's avatar Chuck Lever

svcrdma: Drop connection after an RDMA Read error

When an RPC Call message cannot be pulled from the client, that
is a message loss, by definition. Close the connection to trigger
the client to resend.

Cc: <stable@vger.kernel.org>
Reviewed-by: default avatarTom Talpey <tom@talpey.com>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 2ffda63c
...@@ -852,7 +852,8 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp) ...@@ -852,7 +852,8 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
if (ret == -EINVAL) if (ret == -EINVAL)
svc_rdma_send_error(rdma_xprt, ctxt, ret); svc_rdma_send_error(rdma_xprt, ctxt, ret);
svc_rdma_recv_ctxt_put(rdma_xprt, ctxt); svc_rdma_recv_ctxt_put(rdma_xprt, ctxt);
return ret; svc_xprt_deferred_close(xprt);
return -ENOTCONN;
out_backchannel: out_backchannel:
svc_rdma_handle_bc_reply(rqstp, ctxt); svc_rdma_handle_bc_reply(rqstp, ctxt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment