Spdk/deprecation.md
Marcin Spiewak 27d5b38523 lib/accel: remove PMEM support from accel library
This patch removes references to deprecated PMEM from accel library.
The code that was executed when ACCEL_FLAG_PERSISTENT flag is set,
is no longer needed and is removed.

_sw_accel_copy() function is removed and replaced with memcpy(), as
after PMEM removal its functionality is the same as memcpy().

_sw_accel_dualcast() is no longer needed, replaced with direct calls
to memcpy()

Removed 'flags' parameter - it is no longer needed

accel_ut.c: removed references to PMDK

deprecation.md updated

ACCEL_FLAG_PERSISTENT flag will be removed in next patch.

Change-Id: I86130466fe7a5f6ee547df1517b803035ff41a7a
Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16899
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2023-03-03 11:20:03 +00:00

3.0 KiB

Deprecation

ABI and API 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.

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.

Deprecated code paths must be registered with SPDK_DEPRECATION_REGISTER() and logged with SPDK_LOG_DEPRECATED(). The tag used with these macros will appear in the SPDK log at the warn level when SPDK_LOG_DEPRECATED() is called, subject to rate limits. The tags can be matched with the level 4 headers below.

Deprecation Notices

PMDK

PMDK is no longer supported and integrations with it in SPDK are now deprecated, and will be removed in SPDK 23.05. Please see: UPDATE ON PMDK AND OUR LONG TERM SUPPORT STRATEGY.

bdev_pmem

Deprecated bdev_pmem based on libpmemblk, it will be removed in SPDK 23.05.

libreduce_pm_file

Reduce library will no longer depend on libpmem. pm_file_dir parameter in spdk_reduce_vol_init() will no longer point to pmem device or pmem file. Instead it will be possible to operate on a file, without the benefits of persistency.

VTune

vtune_support

VTune integration is in now deprecated and will be removed in SPDK 23.05.

OCF

bdev_ocf

The Open CAS Framework (OCF) integration via bdev module and env_ocf is now deprecated and will be removed in SPDK 23.05.

nvme

nvme_ctrlr_prepare_for_reset

Deprecated spdk_nvme_ctrlr_prepare_for_reset API, which will be removed in SPDK 22.01. For PCIe transport, spdk_nvme_ctrlr_disconnect should be used before freeing I/O qpairs.

gpt

old_gpt_guid

Deprecated the SPDK partition type GUID 7c5222bd-8f5d-4087-9c00-bf9843c7b58c. Partitions of this type have bdevs created that are one block less than the actual size of the partition. Existing partitions using the deprecated GUID can continue to use that GUID; support for the deprecated GUID will remain in SPDK indefinitely, and will continue to exhibit the off-by-one bug so that on-disk metadata layouts based on the incorrect size are not affected.

See GitHub issue 2801 for additional details on the bug.

New SPDK partition types should use GUID 6527994e-2c5a-4eec-9613-8f5944074e8b which will create a bdev of the correct size.

lvol

vbdev_lvol_rpc_req_size

Param size in rpc commands rpc_bdev_lvol_create and rpc_bdev_lvol_resize is deprecated and replace by size_in_mib.

See GitHub issue 2346 for additional details.