diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-02-11 18:15:54 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-03-12 03:10:00 +0400 |
commit | 5dd00a93ea27897deb79e23797f7ced6910e7979 (patch) | |
tree | c4e05f9c0cd9369c1b799d052a5ad98e467a8ee1 /fs/pnode.c | |
parent | 52b418e832d133f5fa657efae0ca0fa87242fe2c (diff) | |
download | linux-5dd00a93ea27897deb79e23797f7ced6910e7979.tar.xz |
SUNRPC: Fix races in xs_nospace()
commit 06ea0bfe6e6043cb56a78935a19f6f8ebc636226 upstream.
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: a9a6b52ee1ba (SUNRPC: Don't start the retransmission timer...)
Reported-by: Neil Brown <neilb@suse.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/pnode.c')
0 files changed, 0 insertions, 0 deletions