btrfs: use bi_size
authorChristoph Hellwig <hch@lst.de>
Fri, 25 Nov 2016 08:07:50 +0000 (09:07 +0100)
committerDavid Sterba <dsterba@suse.com>
Wed, 30 Nov 2016 12:45:20 +0000 (13:45 +0100)
Instead of using bi_vcnt to calculate it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/compression.c

index b060465c4fad13b056e8fffcf60c977370a846e9..1a618cb5370bdf5ea155e5d123e7b00f5581e7d7 100644 (file)
@@ -562,7 +562,6 @@ next:
  *
  * bio->bi_iter.bi_sector points to the compressed extent on disk
  * bio->bi_io_vec points to all of the inode pages
- * bio->bi_vcnt is a count of pages
  *
  * After the compressed pages are read, we copy the bytes into the
  * bio we were passed and then call the bio end_io calls
@@ -574,7 +573,6 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
        struct extent_map_tree *em_tree;
        struct compressed_bio *cb;
        struct btrfs_root *root = BTRFS_I(inode)->root;
-       unsigned long uncompressed_len = bio->bi_vcnt * PAGE_SIZE;
        unsigned long compressed_len;
        unsigned long nr_pages;
        unsigned long pg_index;
@@ -619,7 +617,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
        free_extent_map(em);
        em = NULL;
 
-       cb->len = uncompressed_len;
+       cb->len = bio->bi_iter.bi_size;
        cb->compressed_len = compressed_len;
        cb->compress_type = extent_compress_type(bio_flags);
        cb->orig_bio = bio;
@@ -647,8 +645,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
        add_ra_bio_pages(inode, em_start + em_len, cb);
 
        /* include any pages we added in add_ra-bio_pages */
-       uncompressed_len = bio->bi_vcnt * PAGE_SIZE;
-       cb->len = uncompressed_len;
+       cb->len = bio->bi_iter.bi_size;
 
        comp_bio = compressed_bio_alloc(bdev, cur_disk_byte, GFP_NOFS);
        if (!comp_bio)