mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
btrfs: move the mapping_set_error() out of the loop in end_bbio_data_write()
Previously we have to call mapping_set_error() inside the for_each_folio_all() loop, because we do not have a better way to grab an inode, other than through folio->mapping. But nowadays every btrfs_bio has its inode member populated, thus we can easily grab the inode and its i_mapping easily, without the help from a folio. Now we can move that mapping_set_error() out of the loop, and use bbio->inode to grab the i_mapping. Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
99fe7e57d3
commit
9d7db41000
|
|
@ -530,14 +530,14 @@ static void end_bbio_data_write(struct btrfs_bio *bbio)
|
|||
u32 len = fi.length;
|
||||
|
||||
bio_size += len;
|
||||
if (error)
|
||||
mapping_set_error(folio->mapping, error);
|
||||
|
||||
ASSERT(btrfs_folio_test_ordered(fs_info, folio, start, len));
|
||||
btrfs_folio_clear_ordered(fs_info, folio, start, len);
|
||||
btrfs_folio_clear_writeback(fs_info, folio, start, len);
|
||||
}
|
||||
|
||||
if (error)
|
||||
mapping_set_error(bbio->inode->vfs_inode.i_mapping, error);
|
||||
|
||||
btrfs_finish_ordered_extent(bbio->ordered, bbio->file_offset, bio_size, !error);
|
||||
bio_put(bio);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user