From bace574bbe55739a49e7fada5483b3d3a5ef361c Mon Sep 17 00:00:00 2001 From: Martin George Date: Mon, 19 Jul 2021 10:07:48 -0700 Subject: [PATCH] nvme-topology: fix controller check in scan_subsystem() Fix the current check in scan_subsystem() so that it iterates through all the available controllers till it gets a 'live' controller for that namespace. Link: https://github.com/linux-nvme/nvme-cli/pull/1101 Fixes: ce9d818 ("nvme-topology: scan all controllers in scan_subsystem()") Signed-off-by: Martin George Reviewed-by: Daniel Wagner Signed-off-by: Keith Busch --- nvme-topology.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nvme-topology.c b/nvme-topology.c index 6d2edaa..7a6baa0 100644 --- a/nvme-topology.c +++ b/nvme-topology.c @@ -384,7 +384,9 @@ static int scan_subsystem(struct nvme_subsystem *s, __u32 ns_instance, int nsid) n->name = strdup(ns[i]->d_name); for (j = 0; j < s->nr_ctrls; j++) { n->ctrl = &s->ctrls[j]; - if (!scan_namespace(n)) + if (!strcmp(n->ctrl->state, "live") && + !scan_namespace(n)) + break; } } -- 2.27.0