diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-23 17:40:02 +0200 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-24 16:45:39 +0200 |
commit | b9d2bb2ee537424a7f855e1f93eed44eb9ee0854 (patch) | |
tree | b25a0807678c2f362664297e9ffce9e2b1d7f94e /net/sunrpc/xprtsock.c | |
parent | SUNRPC: Clear the connect flag when socket state is TCP_CLOSE_WAIT (diff) | |
download | linux-b9d2bb2ee537424a7f855e1f93eed44eb9ee0854.tar.xz linux-b9d2bb2ee537424a7f855e1f93eed44eb9ee0854.zip |
Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..."
This reverts commit 55420c24a0d4d1fce70ca713f84aa00b6b74a70e.
Now that we clear the connected flag when entering TCP_CLOSE_WAIT,
the deadlock described in this commit is no longer possible.
Instead, the resulting call to xs_tcp_shutdown() can interfere
with pending reconnection attempts.
Reported-by: Chris Perl <chris.perl@gmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
Tested-by: Chris Perl <chris.perl@gmail.com>
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r-- | net/sunrpc/xprtsock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 6e6967d5400e..7e2dd0d69f1b 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -737,10 +737,10 @@ static int xs_tcp_send_request(struct rpc_task *task) dprintk("RPC: sendmsg returned unrecognized error %d\n", -status); case -ECONNRESET: - case -EPIPE: xs_tcp_shutdown(xprt); case -ECONNREFUSED: case -ENOTCONN: + case -EPIPE: clear_bit(SOCK_ASYNC_NOSPACE, &transport->sock->flags); } |