mirror of
https://github.com/torvalds/linux
synced 2024-10-17 00:39:37 +00:00
btrfs: open code end_extent_writepage in end_bio_extent_writepage
This prepares for switching to more efficient ordered_extent processing and already removes the forth and back conversion from len to end back to len. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
122e9ede53
commit
4ba8223d3d
|
@ -536,8 +536,6 @@ static void end_bio_extent_writepage(struct btrfs_bio *bbio)
|
|||
struct bio *bio = &bbio->bio;
|
||||
int error = blk_status_to_errno(bio->bi_status);
|
||||
struct bio_vec *bvec;
|
||||
u64 start;
|
||||
u64 end;
|
||||
struct bvec_iter_all iter_all;
|
||||
|
||||
ASSERT(!bio_flagged(bio, BIO_CLONED));
|
||||
|
@ -546,6 +544,8 @@ static void end_bio_extent_writepage(struct btrfs_bio *bbio)
|
|||
struct inode *inode = page->mapping->host;
|
||||
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
||||
const u32 sectorsize = fs_info->sectorsize;
|
||||
u64 start = page_offset(page) + bvec->bv_offset;
|
||||
u32 len = bvec->bv_len;
|
||||
|
||||
/* Our read/write should always be sector aligned. */
|
||||
if (!IS_ALIGNED(bvec->bv_offset, sectorsize))
|
||||
|
@ -557,12 +557,13 @@ static void end_bio_extent_writepage(struct btrfs_bio *bbio)
|
|||
"incomplete page write with offset %u and length %u",
|
||||
bvec->bv_offset, bvec->bv_len);
|
||||
|
||||
start = page_offset(page) + bvec->bv_offset;
|
||||
end = start + bvec->bv_len - 1;
|
||||
|
||||
end_extent_writepage(page, error, start, end);
|
||||
|
||||
btrfs_page_clear_writeback(fs_info, page, start, bvec->bv_len);
|
||||
btrfs_writepage_endio_finish_ordered(BTRFS_I(inode), page, start,
|
||||
start + len - 1, !error);
|
||||
if (error) {
|
||||
btrfs_page_clear_uptodate(fs_info, page, start, len);
|
||||
mapping_set_error(page->mapping, error);
|
||||
}
|
||||
btrfs_page_clear_writeback(fs_info, page, start, len);
|
||||
}
|
||||
|
||||
bio_put(bio);
|
||||
|
|
Loading…
Reference in a new issue