diff options
author | Tom Talpey <talpey@netapp.com> | 2008-10-09 15:00:40 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-10-10 15:10:36 -0400 |
commit | 575448bd36208f99fe0dd554a43518d798966740 (patch) | |
tree | 191d98d11586952ec961c56b58335cc76346b4b6 /net/sunrpc/xprtrdma/rpc_rdma.c | |
parent | b334eaabf4f92226d2df13c613888a507f03da99 (diff) |
RPC/RDMA: suppress retransmit on RPC/RDMA clients.
An RPC/RDMA client cannot retransmit on an unbroken connection,
doing so violates its flow control with the server.
Signed-off-by: Tom Talpey <talpey@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/rpc_rdma.c')
-rw-r--r-- | net/sunrpc/xprtrdma/rpc_rdma.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index e55427f73dfe..721dae795d68 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c | |||
@@ -681,6 +681,8 @@ rpcrdma_conn_func(struct rpcrdma_ep *ep) | |||
681 | struct rpc_xprt *xprt = ep->rep_xprt; | 681 | struct rpc_xprt *xprt = ep->rep_xprt; |
682 | 682 | ||
683 | spin_lock_bh(&xprt->transport_lock); | 683 | spin_lock_bh(&xprt->transport_lock); |
684 | if (++xprt->connect_cookie == 0) /* maintain a reserved value */ | ||
685 | ++xprt->connect_cookie; | ||
684 | if (ep->rep_connected > 0) { | 686 | if (ep->rep_connected > 0) { |
685 | if (!xprt_test_and_set_connected(xprt)) | 687 | if (!xprt_test_and_set_connected(xprt)) |
686 | xprt_wake_pending_tasks(xprt, 0); | 688 | xprt_wake_pending_tasks(xprt, 0); |