diff options
author | Anand Jain <anand.jain@oracle.com> | 2017-05-26 09:44:59 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-06-19 18:26:00 +0200 |
commit | e1ddce71d6cab53c28353c081af7692169417d1b (patch) | |
tree | 35c8c9bde02213d854999783175de221237b5133 /fs/btrfs/lzo.c | |
parent | btrfs: btrfs_decompress_bio() could accept compressed_bio instead (diff) | |
download | linux-e1ddce71d6cab53c28353c081af7692169417d1b.tar.xz linux-e1ddce71d6cab53c28353c081af7692169417d1b.zip |
btrfs: reduce arguments for decompress_bio ops
struct compressed_bio pointer can be used instead.
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/lzo.c')
-rw-r--r-- | fs/btrfs/lzo.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c index f48c8c14dc14..5995563ca56f 100644 --- a/fs/btrfs/lzo.c +++ b/fs/btrfs/lzo.c @@ -25,6 +25,7 @@ #include <linux/pagemap.h> #include <linux/bio.h> #include <linux/lzo.h> +#include <linux/refcount.h> #include "compression.h" #define LZO_LEN 4 @@ -254,16 +255,13 @@ out: return ret; } -static int lzo_decompress_bio(struct list_head *ws, - struct page **pages_in, - u64 disk_start, - struct bio *orig_bio, - size_t srclen) +static int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) { struct workspace *workspace = list_entry(ws, struct workspace, list); int ret = 0, ret2; char *data_in; unsigned long page_in_index = 0; + size_t srclen = cb->compressed_len; unsigned long total_pages_in = DIV_ROUND_UP(srclen, PAGE_SIZE); unsigned long buf_start; unsigned long buf_offset = 0; @@ -278,6 +276,9 @@ static int lzo_decompress_bio(struct list_head *ws, unsigned long tot_len; char *buf; bool may_late_unmap, need_unmap; + struct page **pages_in = cb->compressed_pages; + u64 disk_start = cb->start; + struct bio *orig_bio = cb->orig_bio; data_in = kmap(pages_in[0]); tot_len = read_compress_length(data_in); |