btrfs: use btrfs_finish_ordered_extent to complete buffered writes

Use the btrfs_finish_ordered_extent helper to complete compressed writes
using the bbio->ordered pointer instead of requiring an rbtree lookup
in the otherwise equivalent btrfs_mark_ordered_io_finished called from
btrfs_writepage_endio_finish_ordered.

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:
Christoph Hellwig 2023-05-31 09:54:10 +02:00 committed by David Sterba
parent b41b6f6937
commit 0d394cca84
1 changed files with 1 additions and 2 deletions

View File

@ -557,8 +557,7 @@ 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);
btrfs_writepage_endio_finish_ordered(BTRFS_I(inode), page, start,
start + len - 1, !error);
btrfs_finish_ordered_extent(bbio->ordered, page, start, len, !error);
if (error) {
btrfs_page_clear_uptodate(fs_info, page, start, len);
mapping_set_error(page->mapping, error);