Skip to content

Commit 197115e

Browse files
committed
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: Tom Talpey <tom@talpey.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1 parent 2ffda63 commit 197115e

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

net/sunrpc/xprtrdma/svc_rdma_recvfrom.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,8 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
852852
if (ret == -EINVAL)
853853
svc_rdma_send_error(rdma_xprt, ctxt, ret);
854854
svc_rdma_recv_ctxt_put(rdma_xprt, ctxt);
855-
return ret;
855+
svc_xprt_deferred_close(xprt);
856+
return -ENOTCONN;
856857

857858
out_backchannel:
858859
svc_rdma_handle_bc_reply(rqstp, ctxt);

0 commit comments

Comments
 (0)