xref: /spdk/deprecation.md (revision 55aa2f66b81c9d2bffb1a2afb3cecb00bf28e81d)
11e1fd9acSwawryk# Deprecation
21e1fd9acSwawryk
366e0ed8eSTomasz Zawadzki## ABI and API Deprecation
49a387721STomasz Zawadzki
59a387721STomasz ZawadzkiThis document details the policy for maintaining stability of SPDK ABI and API.
69a387721STomasz Zawadzki
78d8fa905SKrzysztof KarasMajor ABI version can change at most once for each SPDK release.
870b16d44SJosh SorefABI versions are managed separately for each library and follow [Semantic Versioning](https://semver.org/).
99a387721STomasz Zawadzki
109a387721STomasz ZawadzkiAPI and ABI deprecation notices shall be posted in the next section.
119a387721STomasz ZawadzkiEach entry must describe what will be removed and can suggest the future use or alternative.
129a387721STomasz ZawadzkiSpecific future SPDK release for the removal must be provided.
139a387721STomasz ZawadzkiABI cannot be removed without providing deprecation notice for at least single SPDK release.
149a387721STomasz Zawadzki
15cec5d0acSJim HarrisDeprecated code paths must be registered with `SPDK_LOG_DEPRECATION_REGISTER()` and logged with
165b50d3e8SMike Gerdts`SPDK_LOG_DEPRECATED()`. The tag used with these macros will appear in the SPDK
175b50d3e8SMike Gerdtslog at the warn level when `SPDK_LOG_DEPRECATED()` is called, subject to rate limits.
185b50d3e8SMike GerdtsThe tags can be matched with the level 4 headers below.
195b50d3e8SMike Gerdts
2066e0ed8eSTomasz Zawadzki## Deprecation Notices
210f3f107dSShuhei Matsumoto
223a39d90bSJim Harris### gpt
233a39d90bSJim Harris
240f575d16STomasz Zawadzki#### `old_gpt_guid`
253a39d90bSJim Harris
263a39d90bSJim HarrisDeprecated the SPDK partition type GUID `7c5222bd-8f5d-4087-9c00-bf9843c7b58c`. Partitions of this
273a39d90bSJim Harristype have bdevs created that are one block less than the actual size of the partition. Existing
283a39d90bSJim Harrispartitions using the deprecated GUID can continue to use that GUID; support for the deprecated GUID
293a39d90bSJim Harriswill remain in SPDK indefinitely, and will continue to exhibit the off-by-one bug so that on-disk
303a39d90bSJim Harrismetadata layouts based on the incorrect size are not affected.
313a39d90bSJim Harris
323a39d90bSJim HarrisSee GitHub issue [2801](https://github.com/spdk/spdk/issues/2801) for additional details on the bug.
333a39d90bSJim Harris
343a39d90bSJim HarrisNew SPDK partition types should use GUID `6527994e-2c5a-4eec-9613-8f5944074e8b` which will create
353a39d90bSJim Harrisa bdev of the correct size.
362d590e74SSebastian Brzezinka
37da50ac95SKrzysztof Karas### rpc
38da50ac95SKrzysztof Karas
39da50ac95SKrzysztof Karas#### `spdk_rpc_listen` `spdk_rpc_accept` `spdk_rpc_close`
40da50ac95SKrzysztof Karas
41da50ac95SKrzysztof KarasThese functions are deprecated and will be removed in 24.09 release. Please use
42da50ac95SKrzysztof Karas`spdk_rpc_server_listen`, `spdk_rpc_server_accept` and `spdk_rpc_server_close` instead.
4338b1eaa4SJim Harris
4438b1eaa4SJim Harris### env
4538b1eaa4SJim Harris
46*00bbcea0SJim Harris#### `spdk_env_get_socket_id`, `spdk_pci_device_get_socket_id`
4738b1eaa4SJim Harris
48*00bbcea0SJim HarrisThese functions are deprecated and will be removed in 25.05 release. Please use
49*00bbcea0SJim Harris`spdk_env_get_numa_id` and `spdk_pci_device_get_numa_id` instead.
50