OSDN Git Service

btrfs: Remove extent_io_ops::readpage_io_failed_hook
authorNikolay Borisov <nborisov@suse.com>
Thu, 22 Nov 2018 08:17:49 +0000 (10:17 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Dec 2018 13:51:41 +0000 (14:51 +0100)
commit78e62c02abb94e49ea739226a70325a6bf7a6603
treedddca23b63c11e174d8942be02c6e5e69e031648
parent7b41ba71c1a08ae35805b562ae5e2f8ddfb8e00d
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>
fs/btrfs/disk-io.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/inode.c