summaryrefslogtreecommitdiff
path: root/include/trace/events
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2020-04-17 19:40:31 +0300
committerChuck Lever <chuck.lever@oracle.com>2020-04-17 19:40:31 +0300
commit6221f1d9b63fed6260273e59a2b89ab30537a811 (patch)
tree698698f228e81683fe292982fffca41181618881 /include/trace/events
parent43e33924c38e8faeb0c12035481cb150e602e39d (diff)
downloadlinux-6221f1d9b63fed6260273e59a2b89ab30537a811.tar.xz
SUNRPC: Fix backchannel RPC soft lockups
Currently, after the forward channel connection goes away, backchannel operations are causing soft lockups on the server because call_transmit_status's SOFTCONN logic ignores ENOTCONN. Such backchannel Calls are aggressively retried until the client reconnects. Backchannel Calls should use RPC_TASK_NOCONNECT rather than RPC_TASK_SOFTCONN. If there is no forward connection, the server is not capable of establishing a connection back to the client, thus that backchannel request should fail before the server attempts to send it. Commit 58255a4e3ce5 ("NFSD: NFSv4 callback client should use RPC_TASK_SOFTCONN") was merged several years before RPC_TASK_NOCONNECT was available. Because setup_callback_client() explicitly sets NOPING, the NFSv4.0 callback connection depends on the first callback RPC to initiate a connection to the client. Thus NFSv4.0 needs to continue to use RPC_TASK_SOFTCONN. Suggested-by: Trond Myklebust <trondmy@hammerspace.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Cc: <stable@vger.kernel.org> # v4.20+
Diffstat (limited to 'include/trace/events')
0 files changed, 0 insertions, 0 deletions