X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fgzip.c;h=155404efdc0a06e4edc16e74d436ab1bb4cee3c6;hb=refs%2Fheads%2Frertzinger%2Ffeature-zpool-get--p;hp=aa0254806aa19acbf9e5a5207d45f3bc875c639e;hpb=e5dc681a50a41d42c18b52abc8d5a3c2a357bdaa;p=zfs.git diff --git a/module/zfs/gzip.c b/module/zfs/gzip.c index aa02548..155404e 100644 --- a/module/zfs/gzip.c +++ b/module/zfs/gzip.c @@ -28,22 +28,35 @@ #include #include -#include #ifdef _KERNEL + #include -#else +#include + +typedef size_t zlen_t; +#define compress_func z_compress_level +#define uncompress_func z_uncompress + +#else /* _KERNEL */ + #include +#include + +typedef uLongf zlen_t; +#define compress_func compress2 +#define uncompress_func uncompress + #endif size_t gzip_compress(void *s_start, void *d_start, size_t s_len, size_t d_len, int n) { - size_t dstlen = d_len; + zlen_t dstlen = d_len; ASSERT(d_len <= s_len); - if (z_compress_level(d_start, &dstlen, s_start, s_len, n) != Z_OK) { + if (compress_func(d_start, &dstlen, s_start, s_len, n) != Z_OK) { if (d_len != s_len) return (s_len); @@ -51,18 +64,18 @@ gzip_compress(void *s_start, void *d_start, size_t s_len, size_t d_len, int n) return (s_len); } - return (dstlen); + return ((size_t) dstlen); } /*ARGSUSED*/ int gzip_decompress(void *s_start, void *d_start, size_t s_len, size_t d_len, int n) { - size_t dstlen = d_len; + zlen_t dstlen = d_len; ASSERT(d_len >= s_len); - if (z_uncompress(d_start, &dstlen, s_start, s_len) != Z_OK) + if (uncompress_func(d_start, &dstlen, s_start, s_len) != Z_OK) return (-1); return (0);