diff --git a/examples/nvme/perf/perf.c b/examples/nvme/perf/perf.c index 2155acb8a..8a951c03d 100644 --- a/examples/nvme/perf/perf.c +++ b/examples/nvme/perf/perf.c @@ -2054,9 +2054,6 @@ add_trid(const char *trid_str) return 1; } - spdk_nvme_transport_id_populate_trstring(trid, - spdk_nvme_transport_id_trtype_str(trid->trtype)); - ns = strcasestr(trid_str, "ns:"); if (ns) { char nsid_str[6]; /* 5 digits maximum in an nsid */ diff --git a/lib/nvme/nvme.c b/lib/nvme/nvme.c index bdc3db23e..d081a89cf 100644 --- a/lib/nvme/nvme.c +++ b/lib/nvme/nvme.c @@ -825,9 +825,14 @@ nvme_probe_internal(struct spdk_nvme_probe_ctx *probe_ctx, int rc; struct spdk_nvme_ctrlr *ctrlr, *ctrlr_tmp; - spdk_nvme_trid_populate_transport(&probe_ctx->trid, probe_ctx->trid.trtype); + if (strlen(probe_ctx->trid.trstring) == 0) { + /* If user didn't provide trstring, derive it from trtype */ + spdk_nvme_trid_populate_transport(&probe_ctx->trid, probe_ctx->trid.trtype); + } + if (!spdk_nvme_transport_available_by_name(probe_ctx->trid.trstring)) { - SPDK_ERRLOG("NVMe trtype %u not available\n", probe_ctx->trid.trtype); + SPDK_ERRLOG("NVMe trtype %u (%s) not available\n", + probe_ctx->trid.trtype, probe_ctx->trid.trstring); return -1; }