From: Olga Kornievskaia Date: Mon, 25 Jul 2022 13:32:27 +0000 (-0400) Subject: NFSv4.1 remove xprt from xprt_switch if session trunking test fails X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e818bd085baf18cc3271c0f5549d9f5a7069efba;p=linux.git NFSv4.1 remove xprt from xprt_switch if session trunking test fails If we are doing a session trunking test and it fails for the transport, then remove this transport from the xprt_switch group. Signed-off-by: Olga Kornievskaia Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 3f4e84e9646ef..4850e29904e65 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -8922,6 +8922,9 @@ void nfs4_test_session_trunk(struct rpc_clnt *clnt, struct rpc_xprt *xprt, if (status == 0) rpc_clnt_xprt_switch_add_xprt(clnt, xprt); + else if (rpc_clnt_xprt_switch_has_addr(clnt, + (struct sockaddr *)&xprt->addr)) + rpc_clnt_xprt_switch_remove_xprt(clnt, xprt); rpc_put_task(task); }