]> git.baikalelectronics.ru Git - kernel.git/commit
SUNRPC: Fix races in xs_nospace()
authorTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 11 Feb 2014 14:15:54 +0000 (09:15 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 11 Feb 2014 14:34:30 +0000 (09:34 -0500)
commit20e1baa065ad52c71e491233dc9d50bc7a0ce1ec
treefac441e73156f1cdef93f3907aa69fdf2ca6c9d2
parent3ac9d1eed4e5cff202e25ec758b657efc5cfbf5d
SUNRPC: Fix races in xs_nospace()

When a send failure occurs due to the socket being out of buffer space,
we call xs_nospace() in order to have the RPC task wait until the
socket has drained enough to make it worth while trying again.
The current patch fixes a race in which the socket is drained before
we get round to setting up the machinery in xs_nospace(), and which
is reported to cause hangs.

Link: http://lkml.kernel.org/r/20140210170315.33dfc621@notabene.brown
Fixes: dfb6cee491a0 (SUNRPC: Don't start the retransmission timer...)
Reported-by: Neil Brown <neilb@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/xprtsock.c