diff options
author | Christoph Hellwig <hch@lst.de> | 2023-02-10 08:48:37 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2023-04-17 18:01:14 +0200 |
commit | d7294e4deeb9f3e7a41c759b3b0b2d28d80fbde2 (patch) | |
tree | ea52809b9012a865a2b94ccaa94bc8e3293716f5 /fs/btrfs/compression.c | |
parent | e7aff33e31610729f0c9c487f0e262cf96e98ebb (diff) |
btrfs: use the bbio file offset in add_ra_bio_pages
struct btrfs_bio now has a file_offset field set up by all submitters.
Use that value combined with the bio size in add_ra_bio_pages to
calculate the last offset in the bio.
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>
Diffstat (limited to 'fs/btrfs/compression.c')
-rw-r--r-- | fs/btrfs/compression.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index f7b6c0baae80..6a6a6055774f 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -357,13 +357,6 @@ void btrfs_submit_compressed_write(struct btrfs_inode *inode, u64 start, kthread_associate_blkcg(NULL); } -static u64 bio_end_offset(struct bio *bio) -{ - struct bio_vec *last = bio_last_bvec_all(bio); - - return page_offset(last->bv_page) + last->bv_len + last->bv_offset; -} - /* * Add extra pages in the same compressed file extent so that we don't need to * re-read the same extent again and again. @@ -382,7 +375,7 @@ static noinline int add_ra_bio_pages(struct inode *inode, { struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); unsigned long end_index; - u64 cur = bio_end_offset(cb->orig_bio); + u64 cur = btrfs_bio(cb->orig_bio)->file_offset + cb->orig_bio->bi_iter.bi_size; u64 isize = i_size_read(inode); int ret; struct page *page; |