aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
authorZhao Lei <zhaolei@cn.fujitsu.com>2015-12-31 09:46:45 -0500
committerDavid Sterba <dsterba@suse.com>2016-02-18 04:26:12 -0500
commit02873e432518f84ad8f15d8911e79659ea38085f (patch)
tree8c1efbaa0ebef64c7343fef340d195ef316fc5aa /fs/btrfs/disk-io.c
parent6e39dbe8b9e55280c396a19fb92e82f1b56f83d7 (diff)
btrfs: reada: Use fs_info instead of root in __readahead_hook's argument
What __readahead_hook() need exactly is fs_info, no need to convert fs_info to root in caller and convert back in __readahead_hook() Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 4545e2e2ad45..498156ede32c 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -612,6 +612,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
612 int found_level; 612 int found_level;
613 struct extent_buffer *eb; 613 struct extent_buffer *eb;
614 struct btrfs_root *root = BTRFS_I(page->mapping->host)->root; 614 struct btrfs_root *root = BTRFS_I(page->mapping->host)->root;
615 struct btrfs_fs_info *fs_info = root->fs_info;
615 int ret = 0; 616 int ret = 0;
616 int reads_done; 617 int reads_done;
617 618
@@ -637,21 +638,21 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
637 638
638 found_start = btrfs_header_bytenr(eb); 639 found_start = btrfs_header_bytenr(eb);
639 if (found_start != eb->start) { 640 if (found_start != eb->start) {
640 btrfs_err_rl(eb->fs_info, "bad tree block start %llu %llu", 641 btrfs_err_rl(fs_info, "bad tree block start %llu %llu",
641 found_start, eb->start); 642 found_start, eb->start);
642 ret = -EIO; 643 ret = -EIO;
643 goto err; 644 goto err;
644 } 645 }
645 if (check_tree_block_fsid(root->fs_info, eb)) { 646 if (check_tree_block_fsid(fs_info, eb)) {
646 btrfs_err_rl(eb->fs_info, "bad fsid on block %llu", 647 btrfs_err_rl(fs_info, "bad fsid on block %llu",
647 eb->start); 648 eb->start);
648 ret = -EIO; 649 ret = -EIO;
649 goto err; 650 goto err;
650 } 651 }
651 found_level = btrfs_header_level(eb); 652 found_level = btrfs_header_level(eb);
652 if (found_level >= BTRFS_MAX_LEVEL) { 653 if (found_level >= BTRFS_MAX_LEVEL) {
653 btrfs_err(root->fs_info, "bad tree block level %d", 654 btrfs_err(fs_info, "bad tree block level %d",
654 (int)btrfs_header_level(eb)); 655 (int)btrfs_header_level(eb));
655 ret = -EIO; 656 ret = -EIO;
656 goto err; 657 goto err;
657 } 658 }
@@ -659,7 +660,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
659 btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb), 660 btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb),
660 eb, found_level); 661 eb, found_level);
661 662
662 ret = csum_tree_block(root->fs_info, eb, 1); 663 ret = csum_tree_block(fs_info, eb, 1);
663 if (ret) { 664 if (ret) {
664 ret = -EIO; 665 ret = -EIO;
665 goto err; 666 goto err;
@@ -680,7 +681,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
680err: 681err:
681 if (reads_done && 682 if (reads_done &&
682 test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) 683 test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags))
683 btree_readahead_hook(root, eb, eb->start, ret); 684 btree_readahead_hook(fs_info, eb, eb->start, ret);
684 685
685 if (ret) { 686 if (ret) {
686 /* 687 /*
@@ -699,14 +700,13 @@ out:
699static int btree_io_failed_hook(struct page *page, int failed_mirror) 700static int btree_io_failed_hook(struct page *page, int failed_mirror)
700{ 701{
701 struct extent_buffer *eb; 702 struct extent_buffer *eb;
702 struct btrfs_root *root = BTRFS_I(page->mapping->host)->root;
703 703
704 eb = (struct extent_buffer *)page->private; 704 eb = (struct extent_buffer *)page->private;
705 set_bit(EXTENT_BUFFER_READ_ERR, &eb->bflags); 705 set_bit(EXTENT_BUFFER_READ_ERR, &eb->bflags);
706 eb->read_mirror = failed_mirror; 706 eb->read_mirror = failed_mirror;
707 atomic_dec(&eb->io_pages); 707 atomic_dec(&eb->io_pages);
708 if (test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) 708 if (test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags))
709 btree_readahead_hook(root, eb, eb->start, -EIO); 709 btree_readahead_hook(eb->fs_info, eb, eb->start, -EIO);
710 return -EIO; /* we fixed nothing */ 710 return -EIO; /* we fixed nothing */
711} 711}
712 712