xref: /spdk/deprecation.md (revision b3bec07939ebe2ea2e0c43931705d32aa9e06719)
1# Deprecation
2
3## ABI and API Deprecation
4
5This document details the policy for maintaining stability of SPDK ABI and API.
6
7Major ABI version can change at most once for each quarterly SPDK release.
8ABI versions are managed separately for each library and follow [Semantic Versioning](https://semver.org/).
9
10API and ABI deprecation notices shall be posted in the next section.
11Each entry must describe what will be removed and can suggest the future use or alternative.
12Specific future SPDK release for the removal must be provided.
13ABI cannot be removed without providing deprecation notice for at least single SPDK release.
14
15Deprecated code paths must be registered with `SPDK_DEPRECATION_REGISTER()` and logged with
16`SPDK_LOG_DEPRECATED()`. The tag used with these macros will appear in the SPDK
17log at the warn level when `SPDK_LOG_DEPRECATED()` is called, subject to rate limits.
18The tags can be matched with the level 4 headers below.
19
20## Deprecation Notices
21
22### PMDK
23
24PMDK is no longer supported and integrations with it in SPDK are now deprecated, and will be removed in SPDK 23.05.
25Please see: [UPDATE ON PMDK AND OUR LONG TERM SUPPORT STRATEGY](https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy/).
26
27### VTune
28
29#### `vtune_support`
30
31VTune integration is in now deprecated and will be removed in the 23.09 release.
32
33### nvmf
34
35#### `spdk_nvmf_qpair_disconnect`
36
37Parameters `cb_fn` and `ctx` of `spdk_nvmf_qpair_disconnect` API are deprecated. These parameters
38will be removed in 23.09 release.
39
40### gpt
41
42#### `old_gpt_guid`
43
44Deprecated the SPDK partition type GUID `7c5222bd-8f5d-4087-9c00-bf9843c7b58c`. Partitions of this
45type have bdevs created that are one block less than the actual size of the partition. Existing
46partitions using the deprecated GUID can continue to use that GUID; support for the deprecated GUID
47will remain in SPDK indefinitely, and will continue to exhibit the off-by-one bug so that on-disk
48metadata layouts based on the incorrect size are not affected.
49
50See GitHub issue [2801](https://github.com/spdk/spdk/issues/2801) for additional details on the bug.
51
52New SPDK partition types should use GUID `6527994e-2c5a-4eec-9613-8f5944074e8b` which will create
53a bdev of the correct size.
54
55### lvol
56
57#### `vbdev_lvol_rpc_req_size`
58
59Param `size` in rpc commands `rpc_bdev_lvol_create` and `rpc_bdev_lvol_resize` is deprecated and
60replace by `size_in_mib`.
61
62See GitHub issue [2346](https://github.com/spdk/spdk/issues/2346) for additional details.
63