From 8f1c45b1b7e0ebd261b28b4522a0932d51f9d030 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Wed, 21 Mar 2018 17:39:29 -0700 Subject: [PATCH] bdev/nvme: provide namespace UUID to bdev layer Change-Id: Ie6e9620ba6bf7aa287ace03ec914c22db4928df1 Signed-off-by: Daniel Verkamp Reviewed-on: https://review.gerrithub.io/404735 Tested-by: SPDK Automated Test System Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris --- lib/bdev/nvme/bdev_nvme.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/bdev/nvme/bdev_nvme.c b/lib/bdev/nvme/bdev_nvme.c index d733731b9..f9bb54574 100644 --- a/lib/bdev/nvme/bdev_nvme.c +++ b/lib/bdev/nvme/bdev_nvme.c @@ -1104,6 +1104,7 @@ nvme_ctrlr_create_bdevs(struct nvme_ctrlr *nvme_ctrlr) struct spdk_nvme_ctrlr *ctrlr = nvme_ctrlr->ctrlr; struct spdk_nvme_ns *ns; const struct spdk_nvme_ctrlr_data *cdata; + const struct spdk_uuid *uuid; int ns_id, num_ns, rc; int bdev_created = 0; @@ -1146,6 +1147,12 @@ nvme_ctrlr_create_bdevs(struct nvme_ctrlr *nvme_ctrlr) bdev->disk.blocklen = spdk_nvme_ns_get_sector_size(ns); bdev->disk.blockcnt = spdk_nvme_ns_get_num_sectors(ns); bdev->disk.optimal_io_boundary = spdk_nvme_ns_get_optimal_io_boundary(ns); + + uuid = spdk_nvme_ns_get_uuid(ns); + if (uuid != NULL) { + bdev->disk.uuid = *uuid; + } + bdev->disk.ctxt = bdev; bdev->disk.fn_table = &nvmelib_fn_table; bdev->disk.module = &nvme_if;