37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
|
From bace574bbe55739a49e7fada5483b3d3a5ef361c Mon Sep 17 00:00:00 2001
|
||
|
From: Martin George <marting@netapp.com>
|
||
|
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 <marting@netapp.com>
|
||
|
Reviewed-by: Daniel Wagner <dwagner@suse.de>
|
||
|
Signed-off-by: Keith Busch <kbusch@kernel.org>
|
||
|
---
|
||
|
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
|
||
|
|