From 610dd86b8c6d5ccd1ae0efc0bfd9b030bb2097a2 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Fri, 26 Mar 2021 23:29:54 +0900 Subject: [PATCH] bdev/nvme: Inline nvme_bdev_ns_to_bdev() and remove it nvme_bdev_ns_to_bdev() was introduced because nvme_ns->bdev may be removed to support multipath. However, it is unlikely now. Hence it is easier to read to stop using nvme_bdev_ns_to_bdev() and access nvme_ns->bdev directly. Signed-off-by: Shuhei Matsumoto Change-Id: Iaf35455218761bafd03060a21110ad1c4098b1db Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7098 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker Reviewed-by: Aleksey Marchuk Reviewed-by: Paul Luse --- module/bdev/nvme/bdev_nvme.c | 6 +++--- module/bdev/nvme/bdev_ocssd.c | 8 ++++---- module/bdev/nvme/common.h | 6 ------ module/bdev/nvme/vbdev_opal.c | 2 +- .../lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c | 16 ++++++++-------- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index a0cfc05ee..c2ccd75af 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -1529,7 +1529,7 @@ nvme_ctrlr_depopulate_standard_namespace(struct nvme_bdev_ns *nvme_ns) { struct nvme_bdev *bdev; - bdev = nvme_bdev_ns_to_bdev(nvme_ns); + bdev = nvme_ns->bdev; if (bdev != NULL) { spdk_bdev_unregister(&bdev->disk, NULL, NULL); } @@ -1607,7 +1607,7 @@ nvme_ctrlr_populate_namespaces(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr, /* NS is still there but attributes may have changed */ ns = spdk_nvme_ctrlr_get_ns(ctrlr, nsid); num_sectors = spdk_nvme_ns_get_num_sectors(ns); - bdev = nvme_bdev_ns_to_bdev(nvme_ns); + bdev = nvme_ns->bdev; assert(bdev != NULL); if (bdev->disk.blockcnt != num_sectors) { SPDK_NOTICELOG("NSID %u is resized: bdev name %s, old size %" PRIu64 ", new size %" PRIu64 "\n", @@ -2075,7 +2075,7 @@ nvme_ctrlr_populate_namespaces_done(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr, continue; } assert(nvme_ns->id == nsid); - nvme_bdev = nvme_bdev_ns_to_bdev(nvme_ns); + nvme_bdev = nvme_ns->bdev; if (nvme_bdev == NULL) { assert(nvme_ns->type == NVME_BDEV_NS_OCSSD); continue; diff --git a/module/bdev/nvme/bdev_ocssd.c b/module/bdev/nvme/bdev_ocssd.c index 395a5fbcf..c742836f6 100644 --- a/module/bdev/nvme/bdev_ocssd.c +++ b/module/bdev/nvme/bdev_ocssd.c @@ -126,7 +126,7 @@ bdev_ocssd_namespace_config_json(struct spdk_json_write_ctx *w, struct nvme_bdev { struct nvme_bdev *nvme_bdev; - nvme_bdev = nvme_bdev_ns_to_bdev(nvme_ns); + nvme_bdev = nvme_ns->bdev; assert(nvme_bdev != NULL); spdk_json_write_object_begin(w); @@ -887,7 +887,7 @@ bdev_ocssd_free_namespace(struct nvme_bdev_ns *nvme_ns) { struct nvme_bdev *bdev; - bdev = nvme_bdev_ns_to_bdev(nvme_ns); + bdev = nvme_ns->bdev; if (bdev != NULL) { spdk_bdev_unregister(&bdev->disk, NULL, NULL); } @@ -920,7 +920,7 @@ bdev_ocssd_push_media_events(struct nvme_bdev_ns *nvme_ns, return; } - nvme_bdev = nvme_bdev_ns_to_bdev(nvme_ns); + nvme_bdev = nvme_ns->bdev; if (nvme_bdev == NULL) { SPDK_INFOLOG(bdev_ocssd, "Dropping media management event\n"); return; @@ -949,7 +949,7 @@ bdev_ocssd_notify_media_management(struct nvme_bdev_ns *nvme_ns) { struct nvme_bdev *nvme_bdev; - nvme_bdev = nvme_bdev_ns_to_bdev(nvme_ns); + nvme_bdev = nvme_ns->bdev; if (nvme_bdev != NULL) { spdk_bdev_notify_media_management(&nvme_bdev->disk); } diff --git a/module/bdev/nvme/common.h b/module/bdev/nvme/common.h index 6fcadd8e1..0ea802cf2 100644 --- a/module/bdev/nvme/common.h +++ b/module/bdev/nvme/common.h @@ -199,10 +199,4 @@ nvme_bdev_to_bdev_ns(struct nvme_bdev *nbdev) return nbdev->nvme_ns; } -static inline struct nvme_bdev * -nvme_bdev_ns_to_bdev(struct nvme_bdev_ns *nvme_ns) -{ - return nvme_ns->bdev; -} - #endif /* SPDK_COMMON_BDEV_NVME_H */ diff --git a/module/bdev/nvme/vbdev_opal.c b/module/bdev/nvme/vbdev_opal.c index ce71daf37..a4d1288c3 100644 --- a/module/bdev/nvme/vbdev_opal.c +++ b/module/bdev/nvme/vbdev_opal.c @@ -357,7 +357,7 @@ vbdev_opal_create(const char *nvme_ctrlr_name, uint32_t nsid, uint8_t locking_ra opal_bdev->opal_dev = nvme_ctrlr->opal_dev; assert(nsid <= nvme_ctrlr->num_ns); - nvme_bdev = nvme_bdev_ns_to_bdev(nvme_ctrlr->namespaces[nsid - 1]); + nvme_bdev = nvme_ctrlr->namespaces[nsid - 1]->bdev; assert(nvme_bdev != NULL); base_bdev_name = nvme_bdev->disk.name; diff --git a/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c b/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c index f7bf6ca4f..f644c1233 100644 --- a/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c +++ b/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c @@ -1498,7 +1498,7 @@ test_attach_ctrlr(void) CU_ASSERT(attached_names[0] != NULL && strcmp(attached_names[0], "nvme0n1") == 0); attached_names[0] = NULL; - nbdev = nvme_bdev_ns_to_bdev(nvme_bdev_ctrlr->namespaces[0]); + nbdev = nvme_bdev_ctrlr->namespaces[0]->bdev; SPDK_CU_ASSERT_FATAL(nbdev != NULL); CU_ASSERT(bdev_nvme_get_ctrlr(&nbdev->disk) == ctrlr); @@ -1651,7 +1651,7 @@ test_aer_cb(void) CU_ASSERT(nvme_bdev_ctrlr->namespaces[2]->populated == true); CU_ASSERT(nvme_bdev_ctrlr->namespaces[3]->populated == true); - bdev = nvme_bdev_ns_to_bdev(nvme_bdev_ctrlr->namespaces[3]); + bdev = nvme_bdev_ctrlr->namespaces[3]->bdev; SPDK_CU_ASSERT_FATAL(bdev != NULL); CU_ASSERT(bdev->disk.blockcnt == 1024); @@ -1809,7 +1809,7 @@ test_submit_nvme_cmd(void) nvme_bdev_ctrlr = nvme_bdev_ctrlr_get_by_name("nvme0"); SPDK_CU_ASSERT_FATAL(nvme_bdev_ctrlr != NULL); - bdev = nvme_bdev_ns_to_bdev(nvme_bdev_ctrlr->namespaces[0]); + bdev = nvme_bdev_ctrlr->namespaces[0]->bdev; SPDK_CU_ASSERT_FATAL(bdev != NULL); set_thread(0); @@ -1978,7 +1978,7 @@ test_abort(void) nvme_bdev_ctrlr = nvme_bdev_ctrlr_get_by_name("nvme0"); SPDK_CU_ASSERT_FATAL(nvme_bdev_ctrlr != NULL); - bdev = nvme_bdev_ns_to_bdev(nvme_bdev_ctrlr->namespaces[0]); + bdev = nvme_bdev_ctrlr->namespaces[0]->bdev; SPDK_CU_ASSERT_FATAL(bdev != NULL); set_thread(0); @@ -2187,13 +2187,13 @@ test_bdev_unregister(void) nvme_ns1 = nvme_bdev_ctrlr->namespaces[0]; SPDK_CU_ASSERT_FATAL(nvme_ns1 != NULL); - bdev1 = nvme_bdev_ns_to_bdev(nvme_ns1); + bdev1 = nvme_ns1->bdev; SPDK_CU_ASSERT_FATAL(bdev1 != NULL); nvme_ns2 = nvme_bdev_ctrlr->namespaces[1]; SPDK_CU_ASSERT_FATAL(nvme_ns2 != NULL); - bdev2 = nvme_bdev_ns_to_bdev(nvme_ns2); + bdev2 = nvme_ns2->bdev; SPDK_CU_ASSERT_FATAL(bdev2 != NULL); bdev_nvme_destruct(&bdev1->disk); @@ -2201,8 +2201,8 @@ test_bdev_unregister(void) poll_threads(); - CU_ASSERT(nvme_bdev_ns_to_bdev(nvme_ns1) == NULL); - CU_ASSERT(nvme_bdev_ns_to_bdev(nvme_ns2) == NULL); + CU_ASSERT(nvme_ns1->bdev == NULL); + CU_ASSERT(nvme_ns2->bdev == NULL); nvme_bdev_ctrlr->destruct = true; _nvme_bdev_ctrlr_destruct(nvme_bdev_ctrlr);