deprecation: Remove support for PMDK

Support for PMDK is winding down, see:
https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy/

Change-Id: I8999a31137aa372e757472cfb7d4bf4edf9d2fb6
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16393
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Tomasz Zawadzki 2023-01-20 13:55:51 +01:00
parent 9eaf49b27a
commit 23196506da
5 changed files with 35 additions and 1 deletions

5
configure vendored
View File

@ -71,7 +71,7 @@ function usage() {
echo " vfio-user initiator is always built-in in Linux."
echo " example: /usr/src/libvfio-user"
echo " --without-vfio-user No path required."
echo " --with-pmdk[=DIR] Build persistent memory bdev.
echo " --with-pmdk[=DIR] Build persistent memory bdev. (Deprecated)
example: /usr/share/pmdk"
echo " --without-pmdk No path required."
echo " --with-vbdev-compress Build vbdev compression module and dependencies."
@ -907,6 +907,8 @@ if [[ "${CONFIG[FC]}" = "y" ]]; then
fi
if [[ "${CONFIG[PMDK]}" = "y" ]]; then
echo "WARNING: PMDK - bdev_pmem is deprecated."
echo "WARNING: PMDK - ACCEL_FLAG_PERSISTENT in accel_sw module is deprecated."
if ! echo -e '#include <libpmemblk.h>\nint main(void) { return 0; }\n' \
| "${BUILD_CMD[@]}" -lpmemblk - 2> /dev/null; then
echo "--with-pmdk requires libpmemblk."
@ -941,6 +943,7 @@ function mlx5_build() {
}
if [[ "${CONFIG[VBDEV_COMPRESS]}" = "y" ]]; then
echo "WARNING: PMDK - Persistent device support with bdev_compress is deprecated."
if ! echo -e '#include <libpmem.h>\nint main(void) { return 0; }\n' \
| "${BUILD_CMD[@]}" -lpmem - 2> /dev/null; then
echo "--with-vbdev-compress requires libpmem."

View File

@ -19,6 +19,25 @@ The tags can be matched with the level 4 headers below.
## Deprecation Notices {#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](https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy/).
#### `accel_flag_persistent`
Deprecated `ACCEL_FLAG_PERSISTENT` flag in `accel_sw` accel framework module, it will be removed in SPDK 23.05.
#### `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 integration is in now deprecated and will be removed in SPDK 23.05.

View File

@ -66,11 +66,15 @@ _add_to_comp_list(struct sw_accel_io_channel *sw_ch, struct spdk_accel_task *acc
TAILQ_INSERT_TAIL(&sw_ch->tasks_to_complete, accel_task, link);
}
SPDK_LOG_DEPRECATION_REGISTER(accel_flag_persistent,
"PMDK libpmem accel_sw integration", "SPDK 23.05", 10);
/* Used when the SW engine is selected and the durable flag is set. */
inline static int
_check_flags(int flags)
{
if (flags & ACCEL_FLAG_PERSISTENT) {
SPDK_LOG_DEPRECATED(accel_flag_persistent);
#ifndef SPDK_CONFIG_PMDK
/* PMDK is required to use this flag. */
SPDK_ERRLOG("ACCEL_FLAG_PERSISTENT set but PMDK not configured. Configure PMDK or do not use this flag.\n");

View File

@ -537,6 +537,9 @@ _allocate_bit_arrays(struct spdk_reduce_vol *vol)
return 0;
}
SPDK_LOG_DEPRECATION_REGISTER(libreduce_pm_file,
"PMDK libpmem reduce integration", "SPDK 23.05", 0);
void
spdk_reduce_vol_init(struct spdk_reduce_vol_params *params,
struct spdk_reduce_backing_dev *backing_dev,
@ -549,6 +552,8 @@ spdk_reduce_vol_init(struct spdk_reduce_vol_params *params,
size_t mapped_len;
int dir_len, max_dir_len, rc;
SPDK_LOG_DEPRECATED(libreduce_pm_file);
/* We need to append a path separator and the UUID to the supplied
* path.
*/

View File

@ -374,11 +374,14 @@ delete_pmem_disk(const char *name, spdk_delete_pmem_complete cb_fn, void *cb_arg
}
}
SPDK_LOG_DEPRECATION_REGISTER(bdev_pmem, "PMDK libpmemblk bdev_pmem integration", "SPDK 23.05", 0);
static int
bdev_pmem_initialize(void)
{
const char *err = pmemblk_check_version(PMEMBLK_MAJOR_VERSION, PMEMBLK_MINOR_VERSION);
SPDK_LOG_DEPRECATED(bdev_pmem);
if (err != NULL) {
SPDK_ERRLOG("Invalid libpmemblk version (expected %d.%d): %s\n", PMEMBLK_MAJOR_VERSION,
PMEMBLK_MINOR_VERSION, err);