Commit fc2e901f authored by David Sterba's avatar David Sterba

btrfs: reada, sink start parameter to btree_readahead_hook

Originally, the eb and start were passed separately in case eb is NULL.
Since the readahead has been refactored in 4.6, this is not true anymore
and we can get rid of the parameter.
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent bcdc51b2
...@@ -3661,7 +3661,7 @@ struct reada_control *btrfs_reada_add(struct btrfs_root *root, ...@@ -3661,7 +3661,7 @@ struct reada_control *btrfs_reada_add(struct btrfs_root *root,
int btrfs_reada_wait(void *handle); int btrfs_reada_wait(void *handle);
void btrfs_reada_detach(void *handle); void btrfs_reada_detach(void *handle);
int btree_readahead_hook(struct btrfs_fs_info *fs_info, int btree_readahead_hook(struct btrfs_fs_info *fs_info,
struct extent_buffer *eb, u64 start, int err); struct extent_buffer *eb, int err);
static inline int is_fstree(u64 rootid) static inline int is_fstree(u64 rootid)
{ {
......
...@@ -747,7 +747,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio, ...@@ -747,7 +747,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
err: err:
if (reads_done && if (reads_done &&
test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags))
btree_readahead_hook(fs_info, eb, eb->start, ret); btree_readahead_hook(fs_info, eb, ret);
if (ret) { if (ret) {
/* /*
...@@ -772,7 +772,7 @@ static int btree_io_failed_hook(struct page *page, int failed_mirror) ...@@ -772,7 +772,7 @@ static int btree_io_failed_hook(struct page *page, int failed_mirror)
eb->read_mirror = failed_mirror; eb->read_mirror = failed_mirror;
atomic_dec(&eb->io_pages); atomic_dec(&eb->io_pages);
if (test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) if (test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags))
btree_readahead_hook(eb->fs_info, eb, eb->start, -EIO); btree_readahead_hook(eb->fs_info, eb, -EIO);
return -EIO; /* we fixed nothing */ return -EIO; /* we fixed nothing */
} }
......
...@@ -209,12 +209,8 @@ static void __readahead_hook(struct btrfs_fs_info *fs_info, ...@@ -209,12 +209,8 @@ static void __readahead_hook(struct btrfs_fs_info *fs_info,
return; return;
} }
/*
* start is passed separately in case eb in NULL, which may be the case with
* failed I/O
*/
int btree_readahead_hook(struct btrfs_fs_info *fs_info, int btree_readahead_hook(struct btrfs_fs_info *fs_info,
struct extent_buffer *eb, u64 start, int err) struct extent_buffer *eb, int err)
{ {
int ret = 0; int ret = 0;
struct reada_extent *re; struct reada_extent *re;
...@@ -222,7 +218,7 @@ int btree_readahead_hook(struct btrfs_fs_info *fs_info, ...@@ -222,7 +218,7 @@ int btree_readahead_hook(struct btrfs_fs_info *fs_info,
/* find extent */ /* find extent */
spin_lock(&fs_info->reada_lock); spin_lock(&fs_info->reada_lock);
re = radix_tree_lookup(&fs_info->reada_tree, re = radix_tree_lookup(&fs_info->reada_tree,
start >> PAGE_SHIFT); eb->start >> PAGE_SHIFT);
if (re) if (re)
re->refcnt++; re->refcnt++;
spin_unlock(&fs_info->reada_lock); spin_unlock(&fs_info->reada_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment