aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-10-23 11:40:02 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-10-24 10:45:39 -0400
commitb9d2bb2ee537424a7f855e1f93eed44eb9ee0854 (patch)
treeb25a0807678c2f362664297e9ffce9e2b1d7f94e /net
parentd0bea455dd48da1ecbd04fedf00eb89437455fdc (diff)
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')
-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 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)
737 dprintk("RPC: sendmsg returned unrecognized error %d\n", 737 dprintk("RPC: sendmsg returned unrecognized error %d\n",
738 -status); 738 -status);
739 case -ECONNRESET: 739 case -ECONNRESET:
740 case -EPIPE:
741 xs_tcp_shutdown(xprt); 740 xs_tcp_shutdown(xprt);
742 case -ECONNREFUSED: 741 case -ECONNREFUSED:
743 case -ENOTCONN: 742 case -ENOTCONN:
743 case -EPIPE:
744 clear_bit(SOCK_ASYNC_NOSPACE, &transport->sock->flags); 744 clear_bit(SOCK_ASYNC_NOSPACE, &transport->sock->flags);
745 } 745 }
746 746