SUNRPC: fix _xprt_switch_find_current_entry logic
authorOlga Kornievskaia <kolga@netapp.com>
Fri, 1 Dec 2023 19:42:03 +0000 (14:42 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:18 +0000 (15:35 -0800)
[ Upstream commit 98b4e5137504a5bd9346562b1310cdc13486603b ]

Fix the logic for picking current transport entry.

Fixes: 95d0d30c66b8 ("SUNRPC create an iterator to list only OFFLINE xprts")
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sunrpc/xprtmultipath.c

index 701250b..74ee227 100644 (file)
@@ -284,7 +284,7 @@ struct rpc_xprt *_xprt_switch_find_current_entry(struct list_head *head,
                if (cur == pos)
                        found = true;
                if (found && ((find_active && xprt_is_active(pos)) ||
-                             (!find_active && xprt_is_active(pos))))
+                             (!find_active && !xprt_is_active(pos))))
                        return pos;
        }
        return NULL;