[PATCH] RPC: TCP reconnects are too slow
authorChuck Lever <cel@netapp.com>
Wed, 22 Jun 2005 17:16:28 +0000 (17:16 +0000)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 22 Jun 2005 20:07:32 +0000 (16:07 -0400)
 When the network layer reports a connection close, the RPC task
 waiting to reconnect should be notified so it can retry immediately
 instead of waiting for the normal connection establishment timeout.

 This reverts a change made in 2.6.6 as part of adding client support
 for RPC over TCP socket idle timeouts.

 Test-plan:
 Destructive testing with NFS over TCP mounts.

 Version: Fri, 29 Apr 2005 15:31:46 -0400

Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/xprt.c

index a74a1289113e0b4847dd207a0dc7308593b147f9..2b8789cf8db1dcbd27fe5668db5a74ed8210c444 100644 (file)
@@ -1101,8 +1101,7 @@ tcp_state_change(struct sock *sk)
        case TCP_SYN_RECV:
                break;
        default:
-               if (xprt_test_and_clear_connected(xprt))
-                       rpc_wake_up_status(&xprt->pending, -ENOTCONN);
+               xprt_disconnect(xprt);
                break;
        }
  out: