Commit 19070d77 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

bdev/nvme: move spdk_nvme_ctrlr_get_ns to alloc



This simplifies readability as object initialization is getting done in
one place, also we fail earler now.

Change-Id: I5591dc3ce6a646254c77c57bb40d7535e78177d6
Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26880


Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
parent 70b21163
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -4936,6 +4936,7 @@ static struct nvme_ns *
nvme_ns_alloc(struct nvme_ctrlr *nvme_ctrlr, uint32_t nsid, struct nvme_async_probe_ctx *ctx)
{
	struct nvme_ns *nvme_ns;
	struct spdk_nvme_ns *ns;

	nvme_ns = calloc(1, sizeof(struct nvme_ns));
	if (nvme_ns == NULL) {
@@ -4951,9 +4952,18 @@ nvme_ns_alloc(struct nvme_ctrlr *nvme_ctrlr, uint32_t nsid, struct nvme_async_pr
		spdk_bdev_reset_io_stat(nvme_ns->stat, SPDK_BDEV_RESET_STAT_MAXMIN);
	}

	ns = spdk_nvme_ctrlr_get_ns(nvme_ctrlr->ctrlr, nsid);
	if (!ns) {
		NVME_NS_DEBUGLOG(nvme_ns, "Invalid NS\n");
		nvme_ns_free(nvme_ns);
		return NULL;
	}

	nvme_ns->id = nsid;
	nvme_ns->ctrlr = nvme_ctrlr;
	nvme_ns->probe_ctx = ctx;
	nvme_ns->ns = ns;
	nvme_ns->ana_state = SPDK_NVME_ANA_OPTIMIZED_STATE;

	return nvme_ns;
}
@@ -5086,22 +5096,11 @@ nvme_bdev_add_ns(struct nvme_bdev *nbdev, struct nvme_ns *nvme_ns)
static void
nvme_ctrlr_populate_namespace(struct nvme_ctrlr *nvme_ctrlr, struct nvme_ns *nvme_ns)
{
	struct spdk_nvme_ns	*ns;
	struct nvme_bdev	*bdev;
	int			rc = 0;

	nvme_ctrlr_get_ref(nvme_ctrlr);

	ns = spdk_nvme_ctrlr_get_ns(nvme_ctrlr->ctrlr, nvme_ns->id);
	if (!ns) {
		NVME_NS_DEBUGLOG(nvme_ns, "Invalid NS\n");
		rc = -EINVAL;
		goto done;
	}

	nvme_ns->ns = ns;
	nvme_ns->ana_state = SPDK_NVME_ANA_OPTIMIZED_STATE;

	if (nvme_ctrlr->ana_log_page != NULL) {
		bdev_nvme_parse_ana_log_page(nvme_ctrlr, nvme_ns_set_ana_state, nvme_ns);
	}
@@ -5115,7 +5114,7 @@ nvme_ctrlr_populate_namespace(struct nvme_ctrlr *nvme_ctrlr, struct nvme_ns *nvm
			return;
		}
	}
done:

	nvme_ctrlr_populate_namespace_done(nvme_ns, rc);
}