btrfs: make repair_io_failure take btrfs_inode
[linux-2.6-block.git] / fs / btrfs / scrub.c
index 9a94670536a698c7508f289c263ff9408da18821..bdf58b0eaef83790541a93f4b380a865d0740806 100644 (file)
@@ -282,9 +282,7 @@ static void scrub_remap_extent(struct btrfs_fs_info *fs_info,
                               u64 *extent_physical,
                               struct btrfs_device **extent_dev,
                               int *extent_mirror_num);
-static int scrub_setup_wr_ctx(struct scrub_ctx *sctx,
-                             struct scrub_wr_ctx *wr_ctx,
-                             struct btrfs_fs_info *fs_info,
+static int scrub_setup_wr_ctx(struct scrub_wr_ctx *wr_ctx,
                              struct btrfs_device *dev,
                              int is_dev_replace);
 static void scrub_free_wr_ctx(struct scrub_wr_ctx *wr_ctx);
@@ -501,7 +499,7 @@ struct scrub_ctx *scrub_setup_ctx(struct btrfs_device *dev, int is_dev_replace)
        spin_lock_init(&sctx->stat_lock);
        init_waitqueue_head(&sctx->list_wait);
 
-       ret = scrub_setup_wr_ctx(sctx, &sctx->wr_ctx, fs_info,
+       ret = scrub_setup_wr_ctx(&sctx->wr_ctx,
                                 fs_info->dev_replace.tgtdev, is_dev_replace);
        if (ret) {
                scrub_free_ctx(sctx);
@@ -733,7 +731,7 @@ static int scrub_fixup_readpage(u64 inum, u64 offset, u64 root, void *fixup_ctx)
                        ret = -EIO;
                        goto out;
                }
-               ret = repair_io_failure(inode, offset, PAGE_SIZE,
+               ret = repair_io_failure(BTRFS_I(inode), offset, PAGE_SIZE,
                                        fixup->logical, page,
                                        offset - page_offset(page),
                                        fixup->mirror_num);
@@ -3584,7 +3582,7 @@ int scrub_enumerate_chunks(struct scrub_ctx *sctx,
                 * -> btrfs_scrub_pause()
                 */
                scrub_pause_on(fs_info);
-               ret = btrfs_inc_block_group_ro(root, cache);
+               ret = btrfs_inc_block_group_ro(fs_info, cache);
                if (!ret && is_dev_replace) {
                        /*
                         * If we are doing a device replace wait for any tasks
@@ -4084,9 +4082,7 @@ static void scrub_remap_extent(struct btrfs_fs_info *fs_info,
        btrfs_put_bbio(bbio);
 }
 
-static int scrub_setup_wr_ctx(struct scrub_ctx *sctx,
-                             struct scrub_wr_ctx *wr_ctx,
-                             struct btrfs_fs_info *fs_info,
+static int scrub_setup_wr_ctx(struct scrub_wr_ctx *wr_ctx,
                              struct btrfs_device *dev,
                              int is_dev_replace)
 {
@@ -4253,7 +4249,7 @@ static int check_extent_to_block(struct inode *inode, u64 start, u64 len,
        io_tree = &BTRFS_I(inode)->io_tree;
 
        lock_extent_bits(io_tree, lockstart, lockend, &cached_state);
-       ordered = btrfs_lookup_ordered_range(inode, lockstart, len);
+       ordered = btrfs_lookup_ordered_range(BTRFS_I(inode), lockstart, len);
        if (ordered) {
                btrfs_put_ordered_extent(ordered);
                ret = 1;