xprtrdma: Reset connection timeout after successful reconnect
authorChuck Lever <chuck.lever@oracle.com>
Wed, 28 May 2014 14:34:41 +0000 (10:34 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 4 Jun 2014 12:56:51 +0000 (08:56 -0400)
If the new connection is able to make forward progress, reset the
re-establish timeout. Otherwise it keeps growing even if disconnect
events are rare.

The same behavior as TCP is adopted: reconnect immediately if the
transport instance has been able to make some forward progress.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/rpc_rdma.c

index dc4a826192b6418e70372ffd3b22ae523e205c3d..ac65b0cb66b22cd58122ac21946de904595d6bee 100644 (file)
@@ -770,6 +770,7 @@ repost:
 
        /* from here on, the reply is no longer an orphan */
        req->rl_reply = rep;
+       xprt->reestablish_timeout = 0;
 
        /* check for expected message types */
        /* The order of some of these tests is important. */