]> git.baikalelectronics.ru Git - kernel.git/commit
SUNRPC: Ensure we close the socket on EPIPE errors too...
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 Mar 2009 19:29:24 +0000 (15:29 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 19 Mar 2009 19:17:36 +0000 (15:17 -0400)
commita9ea97e0dfbb0e3e765e4b8791b3e3b746f680a5
tree9e7e931122cb77e7ae1249b6dde81d83f60a894d
parentd8a6a04ce2de829bc8ac33e609ce8318d057c77a
SUNRPC: Ensure we close the socket on EPIPE errors too...

As long as one task is holding the socket lock, then calls to
xprt_force_disconnect(xprt) will not succeed in shutting down the socket.
In particular, this would mean that a server initiated shutdown will not
succeed until the lock is relinquished.
In order to avoid the deadlock, we should ensure that xs_tcp_send_request()
closes the socket on EPIPE errors too.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/xprtsock.c