Commit 8d6f48fb authored by Changpeng Liu's avatar Changpeng Liu Committed by Tomasz Zawadzki
Browse files

nvme: set transport string before the probe based on transport type



Users may only set the transport type, but for the actual probe
process, the trstring field is mandatory, so set the trstring
based on transport type at first.  Also remove unnecessary
spdk_nvme_trid_populate_transport() call from each transport
module.

Fix #1228.

Change-Id: I2378065945cf725df4b1997293a737c101969e69
Signed-off-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1001


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent bad2c8e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -594,6 +594,7 @@ spdk_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 (!spdk_nvme_transport_available_by_name(probe_ctx->trid.trstring)) {
		SPDK_ERRLOG("NVMe trtype %u not available\n", probe_ctx->trid.trtype);
		return -1;
+0 −1
Original line number Diff line number Diff line
@@ -810,7 +810,6 @@ static struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(const struct spdk_nvme_

	pctrlr->is_remapped = false;
	pctrlr->ctrlr.is_removed = false;
	spdk_nvme_trid_populate_transport(&pctrlr->ctrlr.trid, SPDK_NVME_TRANSPORT_PCIE);
	pctrlr->devhandle = devhandle;
	pctrlr->ctrlr.opts = *opts;
	memcpy(&pctrlr->ctrlr.trid, trid, sizeof(pctrlr->ctrlr.trid));
+0 −1
Original line number Diff line number Diff line
@@ -1725,7 +1725,6 @@ static struct spdk_nvme_ctrlr *nvme_rdma_ctrlr_construct(const struct spdk_nvme_
		return NULL;
	}

	spdk_nvme_trid_populate_transport(&rctrlr->ctrlr.trid, SPDK_NVME_TRANSPORT_RDMA);
	memcpy(&rctrlr->ctrlr.trid, trid, sizeof(rctrlr->ctrlr.trid));
	rctrlr->ctrlr.opts = *opts;
	if (rctrlr->ctrlr.opts.transport_retry_count > NVME_RDMA_CTRLR_MAX_TRANSPORT_RETRY_COUNT) {
+0 −1
Original line number Diff line number Diff line
@@ -1610,7 +1610,6 @@ static struct spdk_nvme_ctrlr *nvme_tcp_ctrlr_construct(const struct spdk_nvme_t

	tctrlr->ctrlr.opts = *opts;
	tctrlr->ctrlr.trid = *trid;
	spdk_nvme_trid_populate_transport(&tctrlr->ctrlr.trid, SPDK_NVME_TRANSPORT_TCP);

	rc = nvme_ctrlr_construct(&tctrlr->ctrlr);
	if (rc != 0) {