btrfs: scrub: pass fs_info to scrub_setup_ctx
authorDavid Sterba <dsterba@suse.com>
Tue, 4 Dec 2018 15:11:55 +0000 (16:11 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Dec 2018 13:51:48 +0000 (14:51 +0100)
We can pass fs_info directly as this is the only member of btrfs_device
that's bing used inside scrub_setup_ctx.

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/scrub.c

index 3f664e6..edad1a4 100644 (file)
@@ -578,12 +578,11 @@ static void scrub_put_ctx(struct scrub_ctx *sctx)
                scrub_free_ctx(sctx);
 }
 
-static noinline_for_stack
-struct scrub_ctx *scrub_setup_ctx(struct btrfs_device *dev, int is_dev_replace)
+static noinline_for_stack struct scrub_ctx *scrub_setup_ctx(
+               struct btrfs_fs_info *fs_info, int is_dev_replace)
 {
        struct scrub_ctx *sctx;
        int             i;
-       struct btrfs_fs_info *fs_info = dev->fs_info;
 
        sctx = kzalloc(sizeof(*sctx), GFP_KERNEL);
        if (!sctx)
@@ -592,7 +591,7 @@ struct scrub_ctx *scrub_setup_ctx(struct btrfs_device *dev, int is_dev_replace)
        sctx->is_dev_replace = is_dev_replace;
        sctx->pages_per_rd_bio = SCRUB_PAGES_PER_RD_BIO;
        sctx->curr = -1;
-       sctx->fs_info = dev->fs_info;
+       sctx->fs_info = fs_info;
        for (i = 0; i < SCRUB_BIOS_PER_SCTX; ++i) {
                struct scrub_bio *sbio;
 
@@ -3879,7 +3878,7 @@ int btrfs_scrub_dev(struct btrfs_fs_info *fs_info, u64 devid, u64 start,
                return ret;
        }
 
-       sctx = scrub_setup_ctx(dev, is_dev_replace);
+       sctx = scrub_setup_ctx(fs_info, is_dev_replace);
        if (IS_ERR(sctx)) {
                mutex_unlock(&fs_info->scrub_lock);
                mutex_unlock(&fs_info->fs_devices->device_list_mutex);