From d4d692255f12fd699a474ac1963ba1ccb23a0043 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Wed, 11 Mar 2009 14:37:58 -0400 Subject: [PATCH] --- yaml --- r: 139529 b: refs/heads/master c: 670f94573104b4a25525d3fcdcd6496c678df172 h: refs/heads/master i: 139527: 087dd6ca1b8c5397ea9c776fdab30f7c70185d07 v: v3 --- [refs] | 2 +- trunk/net/sunrpc/xprtsock.c | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index d1ad44dc49e0..8a8ebf6daa81 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 15f081ca8ddfe150fb639c591b18944a539da0fc +refs/heads/master: 670f94573104b4a25525d3fcdcd6496c678df172 diff --git a/trunk/net/sunrpc/xprtsock.c b/trunk/net/sunrpc/xprtsock.c index 1127eb934136..cb4bd93b9211 100644 --- a/trunk/net/sunrpc/xprtsock.c +++ b/trunk/net/sunrpc/xprtsock.c @@ -1180,7 +1180,6 @@ static void xs_tcp_state_change(struct sock *sk) break; case TCP_CLOSE_WAIT: /* The server initiated a shutdown of the socket */ - set_bit(XPRT_CLOSING, &xprt->state); xprt_force_disconnect(xprt); case TCP_SYN_SENT: xprt->connect_cookie++; @@ -1193,6 +1192,7 @@ static void xs_tcp_state_change(struct sock *sk) xprt->reestablish_timeout = XS_TCP_INIT_REEST_TO; break; case TCP_LAST_ACK: + set_bit(XPRT_CLOSING, &xprt->state); smp_mb__before_clear_bit(); clear_bit(XPRT_CONNECTED, &xprt->state); smp_mb__after_clear_bit(); @@ -1836,9 +1836,6 @@ static void xs_tcp_connect(struct rpc_task *task) { struct rpc_xprt *xprt = task->tk_xprt; - /* Initiate graceful shutdown of the socket if not already done */ - if (test_bit(XPRT_CONNECTED, &xprt->state)) - xs_tcp_shutdown(xprt); /* Exit if we need to wait for socket shutdown to complete */ if (test_bit(XPRT_CLOSING, &xprt->state)) return;