mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 10:37:35 +03:00
Avoid symbol collision with in-kernel zstdlib
For Linux, when zfs is compiled as an in kernel static variant and the in kernel zstd library is compiled statically into the kernel a symbol collision will occur. This wrapper header renames all of the relevant zstd functions to avoid this problem. Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> Closes #10775
This commit is contained in:
committed by
GitHub
parent
04c37b6851
commit
184df27eef
@@ -342,7 +342,7 @@ zstd_enum_to_level(enum zio_zstd_levels level, int16_t *zstd_level)
|
||||
|
||||
/* Compress block using zstd */
|
||||
size_t
|
||||
zstd_compress(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
zfs_zstd_compress(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
int level)
|
||||
{
|
||||
size_t c_len;
|
||||
@@ -446,8 +446,8 @@ zstd_compress(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
|
||||
/* Decompress block using zstd and return its stored level */
|
||||
int
|
||||
zstd_decompress_level(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
uint8_t *level)
|
||||
zfs_zstd_decompress_level(void *s_start, void *d_start, size_t s_len,
|
||||
size_t d_len, uint8_t *level)
|
||||
{
|
||||
ZSTD_DCtx *dctx;
|
||||
size_t result;
|
||||
@@ -521,11 +521,12 @@ zstd_decompress_level(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
|
||||
/* Decompress datablock using zstd */
|
||||
int
|
||||
zstd_decompress(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
zfs_zstd_decompress(void *s_start, void *d_start, size_t s_len, size_t d_len,
|
||||
int level __maybe_unused)
|
||||
{
|
||||
|
||||
return (zstd_decompress_level(s_start, d_start, s_len, d_len, NULL));
|
||||
return (zfs_zstd_decompress_level(s_start, d_start, s_len, d_len,
|
||||
NULL));
|
||||
}
|
||||
|
||||
/* Allocator for zstd compression context using mempool_allocator */
|
||||
@@ -731,7 +732,7 @@ ZFS_MODULE_DESCRIPTION("ZSTD Compression for ZFS");
|
||||
ZFS_MODULE_LICENSE("BSD");
|
||||
ZFS_MODULE_VERSION(ZSTD_VERSION_STRING);
|
||||
|
||||
EXPORT_SYMBOL(zstd_compress);
|
||||
EXPORT_SYMBOL(zstd_decompress_level);
|
||||
EXPORT_SYMBOL(zstd_decompress);
|
||||
EXPORT_SYMBOL(zfs_zstd_compress);
|
||||
EXPORT_SYMBOL(zfs_zstd_decompress_level);
|
||||
EXPORT_SYMBOL(zfs_zstd_decompress);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user