summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2018-12-17 19:34:59 +0100
committerTrond Myklebust <trond.myklebust@hammerspace.com>2018-12-18 17:03:57 +0100
commit0445f92c5d537c173a54446b80d2052145de5148 (patch)
tree23b94aa7599440d464970fe1cd85689446b84580 /drivers
parentLinux 4.20-rc7 (diff)
downloadlinux-0445f92c5d537c173a54446b80d2052145de5148.tar.xz
linux-0445f92c5d537c173a54446b80d2052145de5148.zip
SUNRPC: Fix disconnection races
When the socket is closed, we need to call xprt_disconnect_done() in order to clean up the XPRT_WRITE_SPACE flag, and wake up the sleeping tasks. However, we also want to ensure that we don't wake them up before the socket is closed, since that would cause thundering herd issues with everyone piling up to retransmit before the TCP shutdown dance has completed. Only the task that holds XPRT_LOCKED needs to wake up early in order to allow the close to complete. Reported-by: Dave Wysochanski <dwysocha@redhat.com> Reported-by: Scott Mayhew <smayhew@redhat.com> Cc: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Tested-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions