slack: fix decompression
Turns out decompression never worked at all; likely an oversight converting the original "transparent" versions to a true compression option. This makes it work. Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
This commit is contained in:
parent
4e9cbd04a4
commit
014ff864d8
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue