Linux 5.16: Resolve ZSTD_isError symbol collision in Linux kernel

Newer zstd code introduced in the main kernel tree now creates a symbol
collision with ZSTD_isError in our ZSTD code. This change relabels our
implementation with a ZFS-specific symbol name, and undoes some
macro-based micro-optimizations that conflict with the attempt to rename
our internal-use version.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Coleman Kane <ckane@colemankane.org>
Closes #12819
This commit is contained in:
Coleman Kane 2021-12-05 15:18:46 -05:00 committed by Tony Hutter
parent 6a3ba7538a
commit 2a21853b75
2 changed files with 1 additions and 2 deletions

View File

@ -406,6 +406,7 @@
zfs_ZSTD_insertAndFindFirstIndex_internal zfs_ZSTD_insertAndFindFirstIndex_internal
#define ZSTD_insertBlock zfs_ZSTD_insertBlock #define ZSTD_insertBlock zfs_ZSTD_insertBlock
#define ZSTD_invalidateRepCodes zfs_ZSTD_invalidateRepCodes #define ZSTD_invalidateRepCodes zfs_ZSTD_invalidateRepCodes
#define ZSTD_isError zfs_ZSTD_isError
#define ZSTD_isFrame zfs_ZSTD_isFrame #define ZSTD_isFrame zfs_ZSTD_isFrame
#define ZSTD_ldm_adjustParameters zfs_ZSTD_ldm_adjustParameters #define ZSTD_ldm_adjustParameters zfs_ZSTD_ldm_adjustParameters
#define ZSTD_ldm_blockCompress zfs_ZSTD_ldm_blockCompress #define ZSTD_ldm_blockCompress zfs_ZSTD_ldm_blockCompress

View File

@ -6340,7 +6340,6 @@ extern "C" {
/* ---- static assert (debug) --- */ /* ---- static assert (debug) --- */
#define ZSTD_STATIC_ASSERT(c) DEBUG_STATIC_ASSERT(c) #define ZSTD_STATIC_ASSERT(c) DEBUG_STATIC_ASSERT(c)
#define ZSTD_isError ERR_isError /* for inlining */
#define FSE_isError ERR_isError #define FSE_isError ERR_isError
#define HUF_isError ERR_isError #define HUF_isError ERR_isError
@ -7347,7 +7346,6 @@ const char* ZSTD_versionString(void) { return ZSTD_VERSION_STRING; }
/*-**************************************** /*-****************************************
* ZSTD Error Management * ZSTD Error Management
******************************************/ ******************************************/
#undef ZSTD_isError /* defined within zstd_internal.h */
/*! ZSTD_isError() : /*! ZSTD_isError() :
* tells if a return value is an error code * tells if a return value is an error code
* symbol is required for external callers */ * symbol is required for external callers */