diff --git a/include/sys/zio_compress.h b/include/sys/zio_compress.h index 4c0d920fc2..6e96ed6cb3 100644 --- a/include/sys/zio_compress.h +++ b/include/sys/zio_compress.h @@ -182,6 +182,8 @@ extern int lz4_decompress_zfs(void *src, void *dst, size_t s_len, size_t d_len, int level); extern size_t slack_compress(void *src, void *dst, size_t s_len, size_t d_len, int level); +extern int slack_decompress(void *src, void *dst, size_t s_len, size_t d_len, + int level); /* * Compress and decompress data if necessary. diff --git a/module/zfs/slack.c b/module/zfs/slack.c index 6c9a041806..cbf797dd9c 100644 --- a/module/zfs/slack.c +++ b/module/zfs/slack.c @@ -54,3 +54,11 @@ slack_compress(void *src, void *dst, size_t s_len, size_t d_len, int level) memcpy(dst, src, c_len); return (c_len); } + +int +slack_decompress(void *src, void *dst, size_t s_len, size_t d_len, int level) +{ + ASSERT3U(d_len, >=, s_len); + memcpy(dst, src, s_len); + return (0); +} diff --git a/module/zfs/zio_compress.c b/module/zfs/zio_compress.c index 7c8188f7d7..cafcc8879e 100644 --- a/module/zfs/zio_compress.c +++ b/module/zfs/zio_compress.c @@ -68,7 +68,7 @@ zio_compress_info_t zio_compress_table[ZIO_COMPRESS_FUNCTIONS] = { {"lz4", 0, lz4_compress_zfs, lz4_decompress_zfs, NULL}, {"zstd", ZIO_ZSTD_LEVEL_DEFAULT, zfs_zstd_compress, zfs_zstd_decompress, zfs_zstd_decompress_level}, - {"slack", 0, slack_compress, NULL, NULL }, + {"slack", 0, slack_compress, slack_decompress, NULL }, }; uint8_t