From: Martin George Date: Mon, 19 Jul 2021 17:07:48 +0000 (-0700) Subject: nvme-topology: fix controller check in scan_subsystem() X-Git-Tag: v1.15~22 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bace574bbe55739a49e7fada5483b3d3a5ef361c;p=users%2Fsagi%2Fnvme-cli.git 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 --- diff --git a/nvme-topology.c b/nvme-topology.c index 6d2edaae..7a6baa0c 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; } }