nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN
authorDai Ngo <dai.ngo@oracle.com>
Thu, 16 Sep 2021 18:22:12 +0000 (14:22 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Oct 2021 12:40:55 +0000 (14:40 +0200)
commit83050cc23909ae7fe788af2ff67cfe314fb714cd
treed30d0af0300a43a6ba5085d420f5f91e2dd0810b
parentf986cf270284e0dff977d95b33deebb590708583
nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN

[ Upstream commit 02579b2ff8b0becfb51d85a975908ac4ab15fba8 ]

When the back channel enters SEQ4_STATUS_CB_PATH_DOWN state, the client
recovers by sending BIND_CONN_TO_SESSION but the server fails to recover
the back channel and leaves it as NFSD4_CB_DOWN.

Fix by enhancing nfsd4_bind_conn_to_session to probe the back channel
by calling nfsd4_probe_callback.

Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfsd/nfs4state.c