RPC: TCP reconnects are too slow Users have reported that NFS/TCP mount points take too long when recovering from a network partition or server reboot/failover. 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 Signed-off-by: Trond Myklebust --- net/sunrpc/xprt.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -X /home/cel/src/linux/dont-diff -Naurp 01-mm3/net/sunrpc/xprt.c 10-rpc-reconnect/net/sunrpc/xprt.c --- 01-mm3/net/sunrpc/xprt.c 2005-04-14 12:25:07.521914000 -0400 +++ 10-rpc-reconnect/net/sunrpc/xprt.c 2005-04-29 15:18:47.677108000 -0400 @@ -1082,8 +1082,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: