diff --git a/CHANGELOG.md b/CHANGELOG.md index 507b90183..5e9aa9fd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,9 @@ can't be accessed directly. Added `async_fini_start` to allow bdev modules to complete the `fini_start` asynchronously, with new `spdk_bdev_module_fini_start_done` API. +Deprecated `spdk_bdev_module_finish_done()` API, which will be removed in SPDK 22.01. +Bdev modules should use `spdk_bdev_module_fini_done()` instead. + ### dma A new library, lib/dma, has been added. This library provides the necessary infrastructure for diff --git a/deprecation.md b/deprecation.md index b3772b285..72e9b1cad 100644 --- a/deprecation.md +++ b/deprecation.md @@ -11,3 +11,8 @@ Specific future SPDK release for the removal must be provided. ABI cannot be removed without providing deprecation notice for at least single SPDK release. # Deprecation Notices {#deprecation-notices} + +## bdev + +Deprecated `spdk_bdev_module_finish_done()` API, which will be removed in SPDK 22.01. +Bdev modules should use `spdk_bdev_module_fini_done()` instead. diff --git a/include/spdk/bdev_module.h b/include/spdk/bdev_module.h index 2e276b148..ce4844527 100644 --- a/include/spdk/bdev_module.h +++ b/include/spdk/bdev_module.h @@ -837,7 +837,8 @@ void spdk_bdev_module_init_done(struct spdk_bdev_module *module); * To be called in response to the module_fini, only if async_fini is set. * */ -void spdk_bdev_module_finish_done(void); +void spdk_bdev_module_fini_done(void); +void spdk_bdev_module_finish_done(void); /* Deprecated */ /** * Indicate that the module fini start has completed. diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 7ef4d6af4..82d59831f 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -1498,7 +1498,7 @@ bdev_mgr_unregister_cb(void *io_device) } static void -bdev_module_finish_iter(void *arg) +bdev_module_fini_iter(void *arg) { struct spdk_bdev_module *bdev_module; @@ -1525,7 +1525,7 @@ bdev_module_finish_iter(void *arg) /* Save our place so we can resume later. We must * save the variable here, before calling module_fini() * below, because in some cases the module may immediately - * call spdk_bdev_module_finish_done() and re-enter + * call spdk_bdev_module_fini_done() and re-enter * this function to continue iterating. */ g_resume_bdev_module = bdev_module; } @@ -1547,15 +1547,23 @@ bdev_module_finish_iter(void *arg) } void -spdk_bdev_module_finish_done(void) +spdk_bdev_module_fini_done(void) { if (spdk_get_thread() != g_fini_thread) { - spdk_thread_send_msg(g_fini_thread, bdev_module_finish_iter, NULL); + spdk_thread_send_msg(g_fini_thread, bdev_module_fini_iter, NULL); } else { - bdev_module_finish_iter(NULL); + bdev_module_fini_iter(NULL); } } +/* Deprecated */ +void +spdk_bdev_module_finish_done(void) +{ + SPDK_NOTICELOG("spdk_bdev_module_finish_done() is deprecated, please use spdk_bdev_module_fini_done().\n"); + spdk_bdev_module_fini_done(); +} + static void bdev_finish_unregister_bdevs_iter(void *cb_arg, int bdeverrno) { @@ -1580,7 +1588,7 @@ bdev_finish_unregister_bdevs_iter(void *cb_arg, int bdeverrno) * (like bdev part free) that will use this bdev (or private bdev driver ctx data) * after returning. */ - spdk_thread_send_msg(spdk_get_thread(), bdev_module_finish_iter, NULL); + spdk_thread_send_msg(spdk_get_thread(), bdev_module_fini_iter, NULL); return; } diff --git a/lib/bdev/spdk_bdev.map b/lib/bdev/spdk_bdev.map index 8cebb8c07..828274229 100644 --- a/lib/bdev/spdk_bdev.map +++ b/lib/bdev/spdk_bdev.map @@ -104,6 +104,7 @@ spdk_bdev_destruct_done; spdk_bdev_module_examine_done; spdk_bdev_module_init_done; + spdk_bdev_module_fini_done; spdk_bdev_module_finish_done; spdk_bdev_module_fini_start_done; spdk_bdev_module_claim_bdev; diff --git a/module/bdev/null/bdev_null.c b/module/bdev/null/bdev_null.c index a0e67ee00..74a12ea25 100644 --- a/module/bdev/null/bdev_null.c +++ b/module/bdev/null/bdev_null.c @@ -452,7 +452,7 @@ static void _bdev_null_finish_cb(void *arg) { spdk_free(g_null_read_buf); - spdk_bdev_module_finish_done(); + spdk_bdev_module_fini_done(); } static void diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index 7680ac0ce..11b850b5a 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -2827,7 +2827,7 @@ bdev_nvme_library_fini(void) if (TAILQ_EMPTY(&g_nvme_ctrlrs)) { pthread_mutex_unlock(&g_bdev_nvme_mutex); spdk_io_device_unregister(&g_nvme_ctrlrs, NULL); - spdk_bdev_module_finish_done(); + spdk_bdev_module_fini_done(); return; } diff --git a/module/bdev/nvme/common.c b/module/bdev/nvme/common.c index 654a8b1d7..9e0c57fa4 100644 --- a/module/bdev/nvme/common.c +++ b/module/bdev/nvme/common.c @@ -166,7 +166,7 @@ nvme_ctrlr_unregister_cb(void *io_device) if (g_bdev_nvme_module_finish && TAILQ_EMPTY(&g_nvme_ctrlrs)) { pthread_mutex_unlock(&g_bdev_nvme_mutex); spdk_io_device_unregister(&g_nvme_ctrlrs, NULL); - spdk_bdev_module_finish_done(); + spdk_bdev_module_fini_done(); return; } diff --git a/module/bdev/pmem/bdev_pmem.c b/module/bdev/pmem/bdev_pmem.c index 8e7b6c914..f5454d1d2 100644 --- a/module/bdev/pmem/bdev_pmem.c +++ b/module/bdev/pmem/bdev_pmem.c @@ -423,7 +423,7 @@ bdev_pmem_initialize(void) static void bdev_pmem_finish_done(void *io_device) { - spdk_bdev_module_finish_done(); + spdk_bdev_module_fini_done(); } static void diff --git a/module/bdev/virtio/bdev_virtio_scsi.c b/module/bdev/virtio/bdev_virtio_scsi.c index 1283881e9..2b81e8dd0 100644 --- a/module/bdev/virtio/bdev_virtio_scsi.c +++ b/module/bdev/virtio/bdev_virtio_scsi.c @@ -1734,7 +1734,7 @@ _virtio_scsi_dev_unregister_cb(void *io_device) finish_module = TAILQ_EMPTY(&g_virtio_scsi_devs); if (g_bdev_virtio_finish && finish_module) { - spdk_bdev_module_finish_done(); + spdk_bdev_module_fini_done(); } } @@ -1793,7 +1793,7 @@ bdev_virtio_finish(void) pthread_mutex_lock(&g_virtio_scsi_mutex); if (TAILQ_EMPTY(&g_virtio_scsi_devs)) { pthread_mutex_unlock(&g_virtio_scsi_mutex); - spdk_bdev_module_finish_done(); + spdk_bdev_module_fini_done(); return; } 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 54fabb6fe..c82ad60ef 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 @@ -199,7 +199,7 @@ DEFINE_STUB(spdk_nvme_zns_offline_zone, int, (struct spdk_nvme_ns *ns, struct spdk_nvme_qpair *qpair, uint64_t slba, bool select_all, spdk_nvme_cmd_cb cb_fn, void *cb_arg), 0); -DEFINE_STUB_V(spdk_bdev_module_finish_done, (void)); +DEFINE_STUB_V(spdk_bdev_module_fini_done, (void)); DEFINE_STUB_V(spdk_bdev_module_list_add, (struct spdk_bdev_module *bdev_module)); diff --git a/test/unit/lib/bdev/nvme/bdev_ocssd.c/bdev_ocssd_ut.c b/test/unit/lib/bdev/nvme/bdev_ocssd.c/bdev_ocssd_ut.c index 9da935a65..d36dab59c 100644 --- a/test/unit/lib/bdev/nvme/bdev_ocssd.c/bdev_ocssd_ut.c +++ b/test/unit/lib/bdev/nvme/bdev_ocssd.c/bdev_ocssd_ut.c @@ -57,7 +57,7 @@ DEFINE_STUB(spdk_bdev_push_media_events, int, (struct spdk_bdev *bdev, const struct spdk_bdev_media_event *events, size_t num_events), 0); DEFINE_STUB_V(spdk_bdev_notify_media_management, (struct spdk_bdev *bdev)); -DEFINE_STUB_V(spdk_bdev_module_finish_done, (void)); +DEFINE_STUB_V(spdk_bdev_module_fini_done, (void)); DEFINE_STUB(spdk_nvme_transport_id_trtype_str, const char *, (enum spdk_nvme_transport_type trtype), NULL); DEFINE_STUB(spdk_nvme_transport_id_adrfam_str, const char *, (enum spdk_nvmf_adrfam adrfam), NULL); diff --git a/test/unit/lib/bdev/pmem/bdev_pmem_ut.c b/test/unit/lib/bdev/pmem/bdev_pmem_ut.c index 9c6053ce0..df30d6136 100644 --- a/test/unit/lib/bdev/pmem/bdev_pmem_ut.c +++ b/test/unit/lib/bdev/pmem/bdev_pmem_ut.c @@ -38,6 +38,8 @@ #include "bdev/pmem/bdev_pmem.c" +DEFINE_STUB_V(spdk_bdev_module_fini_done, (void)); + static struct spdk_bdev_module *g_bdev_pmem_module; static int g_bdev_module_cnt; @@ -271,11 +273,6 @@ spdk_bdev_unregister(struct spdk_bdev *bdev, spdk_bdev_unregister_cb cb_fn, void { } -void -spdk_bdev_module_finish_done(void) -{ -} - int spdk_bdev_notify_blockcnt_change(struct spdk_bdev *bdev, uint64_t size) { diff --git a/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c b/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c index 80cd1a69e..9deec5901 100644 --- a/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c +++ b/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c @@ -283,12 +283,6 @@ spdk_bdev_unregister(struct spdk_bdev *vbdev, spdk_bdev_unregister_cb cb_fn, voi CU_ASSERT(rc == 1); } -void -spdk_bdev_module_finish_done(void) -{ - return; -} - uint64_t spdk_bs_get_page_size(struct spdk_blob_store *bs) {