]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
fabrics: Set default trsvcid before lookups and match
authorDaniel Wagner <dwagner@suse.de>
Fri, 8 Apr 2022 13:42:52 +0000 (15:42 +0200)
committerDaniel Wagner <dwagner@suse.de>
Fri, 8 Apr 2022 15:43:20 +0000 (17:43 +0200)
Set the default trsvcid before trying to lookup or match against
existing persistent discovery controllers.

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

index 0f112199ff4799986f8fcd2f96ff7ec074d93195..e7392758185000718ed286dd2c34b84aa95b2d14 100644 (file)
--- a/fabrics.c
+++ b/fabrics.c
@@ -507,6 +507,9 @@ static int discover_from_conf_file(nvme_root_t r, nvme_host_t h,
                if (!transport && !traddr)
                        goto next;
 
+               if (!trsvcid)
+                       trsvcid = get_default_trsvcid(transport, true);
+
                if (!force) {
                        c = lookup_discover_ctrl(r, transport, traddr,
                                                 cfg.host_traddr, cfg.host_iface,
@@ -518,8 +521,6 @@ static int discover_from_conf_file(nvme_root_t r, nvme_host_t h,
                        }
                }
 
-               if (!trsvcid)
-                       trsvcid = get_default_trsvcid(transport, true);
                c = nvme_create_ctrl(r, subsysnqn, transport, traddr,
                                     cfg.host_traddr, cfg.host_iface, trsvcid);
                if (!c)
@@ -624,6 +625,9 @@ int nvmf_discover(const char *desc, int argc, char **argv, bool connect)
                goto out_free;
        }
 
+       if (!trsvcid)
+               trsvcid = get_default_trsvcid(transport, true);
+
        if (device && !force) {
                c = nvme_scan_ctrl(r, device);
                if (c) {
@@ -674,8 +678,6 @@ int nvmf_discover(const char *desc, int argc, char **argv, bool connect)
        }
        if (!c) {
                /* No device or non-matching device, create a new controller */
-               if (!trsvcid)
-                       trsvcid = get_default_trsvcid(transport, true);
                c = nvme_create_ctrl(r, subsysnqn, transport, traddr,
                                     cfg.host_traddr, cfg.host_iface, trsvcid);
                if (!c) {