Commit 0d5c0b5a authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

reduce: deprecate this library



The reduce compression library was designed for using persistent
memory for compression metadata using libpmem. After Intel Optane
PM was discontinued, this library has seen no activity for its
originally intended use case. It can be used without persistent
memory using mmaped files, but the performance will be poor since it
was designed for cacheline (not block) accesses.

So mark this library as deprecated, with intended removal for
v25.09 release. If someone steps up to actively support and test this
module with other types of persistent memory, its deprecation can
be reconsidered.

Signed-off-by: default avatarJim Harris <jim.harris@nvidia.com>
Change-Id: I9dd967ca20fff0c6291142036548407c4908b8b0
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25942


Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
parent dcc25139
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -40,3 +40,11 @@ a bdev of the correct size.

These functions are deprecated and will be removed in 25.09 release. Please use
`spdk_env_get_numa_id` and `spdk_pci_device_get_numa_id` instead.

### reduce

#### 'spdk_reduce_vol_init', 'spdk_reduce_vol_load'

The entire reduce library is deprecated and will be removed in 25.09 release.
All functions in this library are effectively deprecated, but only these two
are officially marked as such to ensure the library's deprecation is noticed.
+5 −0
Original line number Diff line number Diff line
@@ -618,6 +618,7 @@ overlap_cmp(struct spdk_reduce_vol_request *req1, struct spdk_reduce_vol_request
}
RB_GENERATE_STATIC(executing_req_tree, spdk_reduce_vol_request, rbnode, overlap_cmp);

SPDK_LOG_DEPRECATION_REGISTER(reduce_library, "reduce library", "v25.09", 0);

void
spdk_reduce_vol_init(struct spdk_reduce_vol_params *params,
@@ -632,6 +633,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(reduce_library);

	/* We need to append a path separator and the UUID to the supplied
	 * path.
	 */
@@ -914,6 +917,8 @@ spdk_reduce_vol_load(struct spdk_reduce_backing_dev *backing_dev,
	struct reduce_init_load_ctx *load_ctx;
	struct spdk_reduce_backing_io *backing_io;

	SPDK_LOG_DEPRECATED(reduce_library);

	if (backing_dev->submit_backing_io == NULL) {
		SPDK_ERRLOG("backing_dev function pointer not specified\n");
		cb_fn(cb_arg, NULL, -EINVAL);