diff options
author | David S. Miller <davem@davemloft.net> | 2017-06-22 11:34:05 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-22 11:34:05 -0400 |
commit | 2de18105a8219bde0cc4947729d5f00ecb39179f (patch) | |
tree | 25b75d4ca8004759f2da15b26f2cc5700e51becf /net/rds/tcp_connect.c | |
parent | 6d659237657c64e9e2a930865da4c777239b678e (diff) | |
parent | c14b0366813a8f6df7de181d8a333af7db6fb84e (diff) | |
download | linux-2de18105a8219bde0cc4947729d5f00ecb39179f.tar.gz linux-2de18105a8219bde0cc4947729d5f00ecb39179f.tar.xz |
Merge branch 'rds-tcp-fixes'
Sowmini Varadhan says:
====================
rds: tcp: fixes
Patch1 is a bug fix for correct reconnect when a connection
is restarted. Patch 2 accelerates cleanup by setting linger
to 1 and sending a RST to the peer.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/tcp_connect.c')
-rw-r--r-- | net/rds/tcp_connect.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rds/tcp_connect.c b/net/rds/tcp_connect.c index 5a62a083bb5a..cbe08a1fa4c7 100644 --- a/net/rds/tcp_connect.c +++ b/net/rds/tcp_connect.c @@ -170,6 +170,8 @@ void rds_tcp_conn_path_shutdown(struct rds_conn_path *cp) cp->cp_conn, tc, sock); if (sock) { + if (cp->cp_conn->c_destroy_in_prog) + rds_tcp_set_linger(sock); sock->ops->shutdown(sock, RCV_SHUTDOWN | SEND_SHUTDOWN); lock_sock(sock->sk); rds_tcp_restore_callbacks(sock, tc); /* tc->tc_sock = NULL */ |