]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
fabrics: Prefer unique disc ctrl over well known
authorDaniel Wagner <dwagner@suse.de>
Tue, 17 Jan 2023 08:32:19 +0000 (09:32 +0100)
committerDaniel Wagner <dwagner@suse.de>
Fri, 20 Jan 2023 07:55:30 +0000 (08:55 +0100)
Currently, the well known discovery controller is used per default even
though the target might support unique discovery controller as defined
in TP8013.

Change the default behavior to use the unique discovery controller
whenever the target supports it.

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

index 82017e2bdd7dea54a38c417dbf7e7718b6f5ffd4..533cecee0d3ce30f2d72ae4d355941f439a4b046 100644 (file)
--- a/fabrics.c
+++ b/fabrics.c
@@ -227,6 +227,8 @@ static nvme_ctrl_t __create_discover_ctrl(nvme_root_t r, nvme_host_t h,
                return NULL;
 
        nvme_ctrl_set_discovery_ctrl(c, true);
+       nvme_ctrl_set_unique_discovery_ctrl(c,
+                    strcmp(trcfg->subsysnqn, NVME_DISC_SUBSYS_NAME));
        tmo = set_discovery_kato(cfg);
 
        errno = 0;
@@ -251,7 +253,7 @@ static nvme_ctrl_t create_discover_ctrl(nvme_root_t r, nvme_host_t h,
        if (!c)
                return NULL;
 
-       if (!persistent)
+       if (nvme_ctrl_is_unique_discovery_ctrl(c))
                return c;
 
        /* Find out the name of discovery controller */