Commit dc4a4bdb authored by Dāvis Mosāns's avatar Dāvis Mosāns Committed by David Sterba

btrfs: add lzo workspace buffer length constants

It makes it more readable for length checking and is be used repeatedly.
Signed-off-by: default avatarDāvis Mosāns <davispuh@gmail.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 40e7efe0
...@@ -55,6 +55,9 @@ ...@@ -55,6 +55,9 @@
* 0x1000 | SegHdr N+1| Data payload N+1 ... | * 0x1000 | SegHdr N+1| Data payload N+1 ... |
*/ */
#define WORKSPACE_BUF_LENGTH (lzo1x_worst_compress(PAGE_SIZE))
#define WORKSPACE_CBUF_LENGTH (lzo1x_worst_compress(PAGE_SIZE))
struct workspace { struct workspace {
void *mem; void *mem;
void *buf; /* where decompressed data goes */ void *buf; /* where decompressed data goes */
...@@ -83,8 +86,8 @@ struct list_head *lzo_alloc_workspace(unsigned int level) ...@@ -83,8 +86,8 @@ struct list_head *lzo_alloc_workspace(unsigned int level)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
workspace->mem = kvmalloc(LZO1X_MEM_COMPRESS, GFP_KERNEL); workspace->mem = kvmalloc(LZO1X_MEM_COMPRESS, GFP_KERNEL);
workspace->buf = kvmalloc(lzo1x_worst_compress(PAGE_SIZE), GFP_KERNEL); workspace->buf = kvmalloc(WORKSPACE_BUF_LENGTH, GFP_KERNEL);
workspace->cbuf = kvmalloc(lzo1x_worst_compress(PAGE_SIZE), GFP_KERNEL); workspace->cbuf = kvmalloc(WORKSPACE_CBUF_LENGTH, GFP_KERNEL);
if (!workspace->mem || !workspace->buf || !workspace->cbuf) if (!workspace->mem || !workspace->buf || !workspace->cbuf)
goto fail; goto fail;
...@@ -380,7 +383,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) ...@@ -380,7 +383,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb)
kunmap(cur_page); kunmap(cur_page);
cur_in += LZO_LEN; cur_in += LZO_LEN;
if (seg_len > lzo1x_worst_compress(PAGE_SIZE)) { if (seg_len > WORKSPACE_CBUF_LENGTH) {
/* /*
* seg_len shouldn't be larger than we have allocated * seg_len shouldn't be larger than we have allocated
* for workspace->cbuf * for workspace->cbuf
...@@ -433,7 +436,7 @@ int lzo_decompress(struct list_head *ws, unsigned char *data_in, ...@@ -433,7 +436,7 @@ int lzo_decompress(struct list_head *ws, unsigned char *data_in,
struct workspace *workspace = list_entry(ws, struct workspace, list); struct workspace *workspace = list_entry(ws, struct workspace, list);
size_t in_len; size_t in_len;
size_t out_len; size_t out_len;
size_t max_segment_len = lzo1x_worst_compress(PAGE_SIZE); size_t max_segment_len = WORKSPACE_BUF_LENGTH;
int ret = 0; int ret = 0;
char *kaddr; char *kaddr;
unsigned long bytes; unsigned long bytes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment