diff options
author | Trond Myklebust <[email protected]> | 2021-08-24 11:38:17 -0400 |
---|---|---|
committer | Anna Schumaker <[email protected]> | 2021-08-27 16:36:21 -0400 |
commit | 0a6ff58edbfb26469a095ab964095506352fc960 (patch) | |
tree | 5ede897a2f5e01121851899b7c1965fb1f4b275b | |
parent | ca7d1d1a0b975d3d8aaaeab008a07bb3d3c5ec7e (diff) |
SUNRPC: Simplify socket shutdown when not reusing TCP ports
If we're not required to reuse the TCP port, then we can just
immediately close the socket, and leave the cleanup details to the TCP
layer.
Fixes: e6237b6feb37 ("NFSv4.1: Don't rebind to the same source port when reconnecting to the server")
Signed-off-by: Trond Myklebust <[email protected]>
Signed-off-by: Anna Schumaker <[email protected]>
-rw-r--r-- | net/sunrpc/xprtsock.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 02b071dbdd22..5fb969f8a5ad 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -2099,6 +2099,10 @@ static void xs_tcp_shutdown(struct rpc_xprt *xprt) if (sock == NULL) return; + if (!xprt->reuseport) { + xs_close(xprt); + return; + } switch (skst) { default: kernel_sock_shutdown(sock, SHUT_RDWR); |