diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-22 23:14:36 +0200 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-24 16:46:15 +0200 |
commit | f878b657ce8e7d3673afe48110ec208a29e38c4a (patch) | |
tree | ce2f01c75268473a8d4e8879f5f55b73a16caa7d /fs | |
parent | SUNRPC: Prevent races in xs_abort_connection() (diff) | |
download | linux-f878b657ce8e7d3673afe48110ec208a29e38c4a.tar.xz linux-f878b657ce8e7d3673afe48110ec208a29e38c4a.zip |
SUNRPC: Get rid of the xs_error_report socket callback
Chris Perl reports that we're seeing races between the wakeup call in
xs_error_report and the connect attempts. Basically, Chris has shown
that in certain circumstances, the call to xs_error_report causes the
rpc_task that is responsible for reconnecting to wake up early, thus
triggering a disconnect and retry.
Since the sk->sk_error_report() calls in the socket layer are always
followed by a tcp_done() in the cases where we care about waking up
the rpc_tasks, just let the state_change callbacks take responsibility
for those wake ups.
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 'fs')
0 files changed, 0 insertions, 0 deletions