aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/scrub.c
diff options
context:
space:
mode:
authorMiao Xie <miaox@cn.fujitsu.com>2014-09-12 06:44:01 -0400
committerChris Mason <clm@fb.com>2014-09-17 16:38:59 -0400
commit1203b6813ee84add8b4baa6d75e50ba85517e99c (patch)
treeb9799ad854dfe4f213564354e89a272fda7cdddb /fs/btrfs/scrub.c
parentffdd2018dd0bbfc0d9855ed811dba67201766a2d (diff)
Btrfs: modify clean_io_failure and make it suit direct io
We could not use clean_io_failure in the direct IO path because it got the filesystem information from the page structure, but the page in the direct IO bio didn't have the filesystem information in its structure. So we need modify it and pass all the information it need by parameters. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/scrub.c')
-rw-r--r--fs/btrfs/scrub.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index c026fa6b9553..b9c37ac9ed1b 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -679,8 +679,7 @@ static int scrub_fixup_readpage(u64 inum, u64 offset, u64 root, void *fixup_ctx)
679 ret = -EIO; 679 ret = -EIO;
680 goto out; 680 goto out;
681 } 681 }
682 fs_info = BTRFS_I(inode)->root->fs_info; 682 ret = repair_io_failure(inode, offset, PAGE_SIZE,
683 ret = repair_io_failure(fs_info, offset, PAGE_SIZE,
684 fixup->logical, page, 683 fixup->logical, page,
685 offset - page_offset(page), 684 offset - page_offset(page),
686 fixup->mirror_num); 685 fixup->mirror_num);