summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprt.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-11-07 00:28:53 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-01-30 08:05:26 +0100
commit7272dcd31d56580dee7693c21e369fd167e137fe (patch)
treea69f10501069ec89d8fb7188f89e7d1d19929488 /net/sunrpc/xprt.c
parentSUNRPC: Use shutdown() instead of close() when disconnecting a TCP socket (diff)
downloadlinux-7272dcd31d56580dee7693c21e369fd167e137fe.tar.xz
linux-7272dcd31d56580dee7693c21e369fd167e137fe.zip
SUNRPC: xprt_autoclose() should not call xprt_disconnect()
The transport layer should do that itself whenever appropriate. Note that the RDMA transport already assumes that it needs to call xprt_disconnect in xprt_rdma_close(). For TCP sockets, we want to call xprt_disconnect() only after the connection has been closed by both ends. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/xprt.c')
-rw-r--r--net/sunrpc/xprt.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index a3af02168af1..80742995e02e 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -568,7 +568,6 @@ static void xprt_autoclose(struct work_struct *work)
struct rpc_xprt *xprt =
container_of(work, struct rpc_xprt, task_cleanup);
- xprt_disconnect(xprt);
xprt->ops->close(xprt);
clear_bit(XPRT_CLOSE_WAIT, &xprt->state);
xprt_release_write(xprt, NULL);