btrfs: use the bbio file offset in btrfs_submit_compressed_read
authorChristoph Hellwig <hch@lst.de>
Fri, 10 Feb 2023 07:48:36 +0000 (08:48 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:14 +0000 (18:01 +0200)
struct btrfs_bio now has a file_offset field set up by all submitters.
Use that in btrfs_submit_compressed_read instead of recalculating the
value.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/compression.c

index 6fd9c6e..f7b6c0b 100644 (file)
@@ -533,7 +533,7 @@ void btrfs_submit_compressed_read(struct bio *bio, int mirror_num)
        struct bio *comp_bio;
        const u64 disk_bytenr = bio->bi_iter.bi_sector << SECTOR_SHIFT;
        u64 cur_disk_byte = disk_bytenr;
-       u64 file_offset;
+       u64 file_offset = btrfs_bio(bio)->file_offset;
        u64 em_len;
        u64 em_start;
        struct extent_map *em;
@@ -542,9 +542,6 @@ void btrfs_submit_compressed_read(struct bio *bio, int mirror_num)
        blk_status_t ret;
        int ret2;
 
-       file_offset = bio_first_bvec_all(bio)->bv_offset +
-                     page_offset(bio_first_page_all(bio));
-
        /* we need the actual starting offset of this extent in the file */
        read_lock(&em_tree->lock);
        em = lookup_extent_mapping(em_tree, file_offset, fs_info->sectorsize);