summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtsock.c
diff options
context:
space:
mode:
authorTrond Myklebust2013-09-26 16:18:04 +0200
committerTrond Myklebust2013-10-02 00:22:10 +0200
commit8b71798c0d389d4cadc884fc7d68c61ee8cd4f45 (patch)
treec4e9b7e71ca741ac0f8959c32b80efd9ab9ce12d /net/sunrpc/xprtsock.c
parentSUNRPC: Enable the keepalive option for TCP sockets (diff)
downloadkernel-qcow2-linux-8b71798c0d389d4cadc884fc7d68c61ee8cd4f45.tar.gz
kernel-qcow2-linux-8b71798c0d389d4cadc884fc7d68c61ee8cd4f45.tar.xz
kernel-qcow2-linux-8b71798c0d389d4cadc884fc7d68c61ee8cd4f45.zip
SUNRPC: Only update the TCP connect cookie on a successful connect
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r--net/sunrpc/xprtsock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 208a7634b916..9928ba164d62 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -1511,6 +1511,7 @@ static void xs_tcp_state_change(struct sock *sk)
transport->tcp_copied = 0;
transport->tcp_flags =
TCP_RCV_COPY_FRAGHDR | TCP_RCV_COPY_XID;
+ xprt->connect_cookie++;
xprt_wake_pending_tasks(xprt, -EAGAIN);
}
@@ -2164,7 +2165,6 @@ static int xs_tcp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock)
case 0:
case -EINPROGRESS:
/* SYN_SENT! */
- xprt->connect_cookie++;
if (xprt->reestablish_timeout < XS_TCP_INIT_REEST_TO)
xprt->reestablish_timeout = XS_TCP_INIT_REEST_TO;
}