]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme-print: Show paths from the first namespace only
authorDaniel Wagner <dwagner@suse.de>
Wed, 25 May 2022 15:33:08 +0000 (17:33 +0200)
committerDaniel Wagner <dwagner@suse.de>
Wed, 25 May 2022 15:43:47 +0000 (17:43 +0200)
When listing the subsystem, show the path from the first namespace
only. Every namespace has the same paths for a subsystem. This avoids
listening the same controllers for each namespace.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
nvme-print.c

index 1e4e4c8c88d54a6eae2ece5173bfd8bcec2ca404..0bc759f4a404741c106b68abbfa472d35a27c511 100644 (file)
@@ -2376,22 +2376,23 @@ void nvme_show_supported_cap_config_log(
 static unsigned int nvme_show_subsystem_multipath(nvme_subsystem_t s)
 {
        nvme_ns_t n;
+       nvme_path_t p;
        unsigned int i = 0;
 
-       nvme_subsystem_for_each_ns(s, n) {
-               nvme_path_t p;
+       n = nvme_subsystem_first_ns(s);
+       if (!n)
+               return 0;
 
-               nvme_namespace_for_each_path(n, p) {
-                       nvme_ctrl_t c = nvme_path_get_ctrl(p);
+       nvme_namespace_for_each_path(n, p) {
+               nvme_ctrl_t c = nvme_path_get_ctrl(p);
 
-                       printf(" +- %s %s %s %s %s\n",
-                              nvme_ctrl_get_name(c),
-                              nvme_ctrl_get_transport(c),
-                              nvme_ctrl_get_address(c),
-                              nvme_ctrl_get_state(c),
-                              nvme_path_get_ana_state(p));
-                       i++;
-               }
+               printf(" +- %s %s %s %s %s\n",
+                      nvme_ctrl_get_name(c),
+                      nvme_ctrl_get_transport(c),
+                      nvme_ctrl_get_address(c),
+                      nvme_ctrl_get_state(c),
+                      nvme_path_get_ana_state(p));
+               i++;
        }
 
        return i;