Commit 62db72ca authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

bdev/nvme: add namespace types



Eventually these may be defined by the NVMe spec, but
for now add something local to the bdev/nvme module.
These will currently only differentiate "standard"
namespaces from ocssd namespaces.

Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I7853c97f3d3c28fd9f2fcd2440c57dc262954b46

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475795


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 9fa00069
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1047,6 +1047,11 @@ nvme_ctrlr_populate_namespaces(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr)
		if (!ns->active && spdk_nvme_ctrlr_is_active_ns(ctrlr, nsid)) {
			ns->id = nsid;
			ns->ctrlr = nvme_bdev_ctrlr;
			if (spdk_nvme_ctrlr_is_ocssd_supported(ctrlr)) {
				ns->type = NVME_BDEV_NS_OCSSD;
			} else {
				ns->type = NVME_BDEV_NS_STANDARD;
			}

			TAILQ_INIT(&ns->bdevs);

+7 −0
Original line number Diff line number Diff line
@@ -44,8 +44,15 @@ extern pthread_mutex_t g_bdev_nvme_mutex;

#define NVME_MAX_CONTROLLERS 1024

enum nvme_bdev_ns_type {
	NVME_BDEV_NS_UNKNOWN	= 0,
	NVME_BDEV_NS_STANDARD	= 1,
	NVME_BDEV_NS_OCSSD	= 2,
};

struct nvme_bdev_ns {
	uint32_t		id;
	enum nvme_bdev_ns_type	type;
	bool			active;
	struct spdk_nvme_ns	*ns;
	struct nvme_bdev_ctrlr	*ctrlr;