7a0a2800e0
The NVMe bdev module will support two features, delayed reconnect and delete after multiple failures of reconnect to improve error recovery. The recently added two APIs, spdk_nvme_ctrlr_reset_async() and spdk_nvme_ctrlr_reset_poll_async(), were not good enough. spdk_nvme_ctrlr_reset_ctx was not necessary. It had only a pointer to ctrlr. Using a pointer to ctrlr directly saves us from undesirable malloc error processing. Separate spdk_nvme_ctrlr_reset_async() into spdk_nvme_ctrlr_disconnect() and spdk_nvme_ctrlr_reconnect_async(). spdk_nvme_ctrlr_disconnect() disconnects ctrlr including disconnecting adminq. spdk_nvme_ctrlr_reconnect_async() moves the ctrlr state to INIT. Then rename spdk_nvme_ctrlr_reset_poll_async() by spdk_nvme_ctrlr_reconnect_poll_async(). Finally deprecate spdk_nvme_ctrlr_reset_async() and spdk_nvme_ctrlr_reset_poll_async(). The following patches will change the NVMe bdev module to use these new APIs. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: Id1d6858dcdc5fc2e9db0a6ebf3f79cab4f9bbcb7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10091 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
# Deprecation
|
|
|
|
## ABI and API Deprecation {#deprecation}
|
|
|
|
This document details the policy for maintaining stability of SPDK ABI and API.
|
|
|
|
Major ABI version can change at most once for each quarterly SPDK release.
|
|
ABI versions are managed separately for each library and follow [Semantic Versioning](https://semver.org/).
|
|
|
|
API and ABI deprecation notices shall be posted in the next section.
|
|
Each entry must describe what will be removed and can suggest the future use or alternative.
|
|
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.
|
|
|
|
### nvme
|
|
|
|
Deprecated `spdk_nvme_ctrlr_reset_async` and `spdk_nvme_ctrlr_reset_poll_async` APIs,
|
|
which will be removed in SPDK 22.01. `spdk_nvme_ctrlr_disconnect`, `spdk_nvme_ctrlr_reconnect_async`,
|
|
and `spdk_nvme_ctrlr_reconnect_poll_async` should be used instead.
|