summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-10-23 11:40:02 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-31 10:09:57 -0700
commit2edc5969320d6e7f13d6d74e9bd3d8c0b8ec3684 (patch)
tree805cbc7135f8871ea6ccbd3a0661b1dc2121fb4c /net
parenta340197a85e4a27b3f974ffb6ab0308cc3f2edbc (diff)
downloadkernel-common-2edc5969320d6e7f13d6d74e9bd3d8c0b8ec3684.tar.gz
kernel-common-2edc5969320d6e7f13d6d74e9bd3d8c0b8ec3684.tar.bz2
kernel-common-2edc5969320d6e7f13d6d74e9bd3d8c0b8ec3684.zip
Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..."
commit b9d2bb2ee537424a7f855e1f93eed44eb9ee0854 upstream. 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> Tested-by: Chris Perl <chris.perl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-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 f08e42481759..094afc070313 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -736,10 +736,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);
}