diff options
Diffstat (limited to 'drivers/block/zram/backend_deflate.c')
| -rw-r--r-- | drivers/block/zram/backend_deflate.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/drivers/block/zram/backend_deflate.c b/drivers/block/zram/backend_deflate.c index ec662ce46897..117852d45aa4 100644 --- a/drivers/block/zram/backend_deflate.c +++ b/drivers/block/zram/backend_deflate.c @@ -74,9 +74,7 @@ error: return NULL; } -static int deflate_compress(void *ctx, const unsigned char *src, - size_t src_len, unsigned char *dst, - size_t *dst_len) +static int deflate_compress(void *ctx, struct zcomp_req *req) { struct deflate_ctx *zctx = ctx; struct z_stream_s *deflate; @@ -87,22 +85,20 @@ static int deflate_compress(void *ctx, const unsigned char *src, if (ret != Z_OK) return -EINVAL; - deflate->next_in = (u8 *)src; - deflate->avail_in = src_len; - deflate->next_out = (u8 *)dst; - deflate->avail_out = *dst_len; + deflate->next_in = (u8 *)req->src; + deflate->avail_in = req->src_len; + deflate->next_out = (u8 *)req->dst; + deflate->avail_out = req->dst_len; ret = zlib_deflate(deflate, Z_FINISH); if (ret != Z_STREAM_END) return -EINVAL; - *dst_len = deflate->total_out; + req->dst_len = deflate->total_out; return 0; } -static int deflate_decompress(void *ctx, const unsigned char *src, - size_t src_len, unsigned char *dst, - size_t dst_len) +static int deflate_decompress(void *ctx, struct zcomp_req *req) { struct deflate_ctx *zctx = ctx; struct z_stream_s *inflate; @@ -114,10 +110,10 @@ static int deflate_decompress(void *ctx, const unsigned char *src, if (ret != Z_OK) return -EINVAL; - inflate->next_in = (u8 *)src; - inflate->avail_in = src_len; - inflate->next_out = (u8 *)dst; - inflate->avail_out = dst_len; + inflate->next_in = (u8 *)req->src; + inflate->avail_in = req->src_len; + inflate->next_out = (u8 *)req->dst; + inflate->avail_out = req->dst_len; ret = zlib_inflate(inflate, Z_SYNC_FLUSH); if (ret != Z_STREAM_END) |
