mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
btrfs: Remove extent_io_ops::readpage_io_failed_hook
For data inodes this hook does nothing but to return -EAGAIN which is used to signal to the endio routines that this bio belongs to a data inode. If this is the case the actual retrying is handled by bio_readpage_error. Alternatively, if this bio belongs to the btree inode then btree_io_failed_hook just does some cleanup and doesn't retry anything. This patch simplifies the code flow by eliminating readpage_io_failed_hook and instead open-coding btree_io_failed_hook in end_bio_extent_readpage. Also eliminate some needless checks since IO is always performed on either data inode or btree inode, both of which are guaranteed to have their extent_io_tree::ops set. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
7b41ba71c1
commit
78e62c02ab
4 changed files with 35 additions and 60 deletions
|
@ -10409,12 +10409,6 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
__attribute__((const))
|
||||
static int btrfs_readpage_io_failed_hook(struct page *page, int failed_mirror)
|
||||
{
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
void btrfs_set_range_writeback(struct extent_io_tree *tree, u64 start, u64 end)
|
||||
{
|
||||
struct inode *inode = tree->private_data;
|
||||
|
@ -10810,7 +10804,6 @@ static const struct extent_io_ops btrfs_extent_io_ops = {
|
|||
/* mandatory callbacks */
|
||||
.submit_bio_hook = btrfs_submit_bio_hook,
|
||||
.readpage_end_io_hook = btrfs_readpage_end_io_hook,
|
||||
.readpage_io_failed_hook = btrfs_readpage_io_failed_hook,
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue