OpenCloudOS-Kernel/net/sunrpc/xprtrdma
Chuck Lever 77a08867a6 svcrdma: Enqueue after setting XPT_CLOSE in completion handlers
I noticed the server was sometimes not closing the connection after
a flushed Send. For example, if the client responds with an RNR NAK
to a Reply from the server, that client might be deadlocked, and
thus wouldn't send any more traffic. Thus the server wouldn't have
any opportunity to notice the XPT_CLOSE bit has been set.

Enqueue the transport so that svcxprt notices the bit even if there
is no more transport activity after a flushed completion, QP access
error, or device removal event.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-By: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2017-11-07 16:44:02 -05:00
..
Makefile svcrdma: Remove svc_rdma_marshal.c 2017-06-28 14:21:43 -04:00
backchannel.c xprtrdma: Clean up rpcrdma_bc_marshal_reply() 2017-08-11 13:20:08 -04:00
fmr_ops.c xprtrdma: Remove imul instructions from chunk list encoders 2017-08-15 14:01:50 -04:00
frwr_ops.c xprtrdma: Remove imul instructions from chunk list encoders 2017-08-15 14:01:50 -04:00
module.c rpcrdma: Merge svcrdma and xprtrdma modules into one 2015-06-04 16:56:02 -04:00
rpc_rdma.c xprtrdma: Use xprt_pin_rqst in rpcrdma_reply_handler 2017-09-05 18:27:07 -04:00
svc_rdma.c svcrdma: Reduce size of sge array in struct svc_rdma_op_ctxt 2017-04-25 17:25:55 -04:00
svc_rdma_backchannel.c svcrdma: Preserve CB send buffer across retransmits 2017-11-07 16:44:00 -05:00
svc_rdma_recvfrom.c svcrdma: Properly compute .len and .buflen for received RPC Calls 2017-07-12 15:54:57 -04:00
svc_rdma_rw.c svcrdma: Populate tail iovec when receiving 2017-09-05 15:15:29 -04:00
svc_rdma_sendto.c svcrdma: fix an incorrect check on -E2BIG and -EINVAL 2017-07-13 14:18:47 -04:00
svc_rdma_transport.c svcrdma: Enqueue after setting XPT_CLOSE in completion handlers 2017-11-07 16:44:02 -05:00
transport.c xprtrdma: Use xprt_pin_rqst in rpcrdma_reply_handler 2017-09-05 18:27:07 -04:00
verbs.c xprtrdma: Use xprt_pin_rqst in rpcrdma_reply_handler 2017-09-05 18:27:07 -04:00
xprt_rdma.h xprtrdma: Use xprt_pin_rqst in rpcrdma_reply_handler 2017-09-05 18:27:07 -04:00