btrfs: scrub: fix target device intialization while setting up scrub context
The commit "btrfs: scrub: inline helper scrub_setup_wr_ctx" inlined a helper but wrongly sets up the target device. Incidentally there's a local variable with the same name as a parameter in the previous function, so this got caught during runtime as crash in test btrfs/027. Reported-by: Chris Mason <clm@fb.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
bc42bda223
commit
ded56184a5
|
@ -714,9 +714,9 @@ struct scrub_ctx *scrub_setup_ctx(struct btrfs_device *dev, int is_dev_replace)
|
||||||
mutex_init(&sctx->wr_lock);
|
mutex_init(&sctx->wr_lock);
|
||||||
sctx->wr_curr_bio = NULL;
|
sctx->wr_curr_bio = NULL;
|
||||||
if (is_dev_replace) {
|
if (is_dev_replace) {
|
||||||
WARN_ON(!dev->bdev);
|
WARN_ON(!fs_info->dev_replace.tgtdev);
|
||||||
sctx->pages_per_wr_bio = SCRUB_PAGES_PER_WR_BIO;
|
sctx->pages_per_wr_bio = SCRUB_PAGES_PER_WR_BIO;
|
||||||
sctx->wr_tgtdev = dev;
|
sctx->wr_tgtdev = fs_info->dev_replace.tgtdev;
|
||||||
atomic_set(&sctx->flush_all_writes, 0);
|
atomic_set(&sctx->flush_all_writes, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue