Commit 03679ade authored by Omar Sandoval's avatar Omar Sandoval Committed by Chris Mason

Btrfs: remove misleading handling of missing device scrub

scrub_submit() claims that it can handle a bio with a NULL block device,
but this is misleading, as calling bio_add_page() on a bio with a NULL
->bi_bdev would've already crashed. Delete this, as we're about to
properly handle a missing block device.
Signed-off-by: default avatarOmar Sandoval <osandov@fb.com>
Signed-off-by: default avatarChris Mason <clm@fb.com>
parent 293a8489
...@@ -2096,21 +2096,7 @@ static void scrub_submit(struct scrub_ctx *sctx) ...@@ -2096,21 +2096,7 @@ static void scrub_submit(struct scrub_ctx *sctx)
sbio = sctx->bios[sctx->curr]; sbio = sctx->bios[sctx->curr];
sctx->curr = -1; sctx->curr = -1;
scrub_pending_bio_inc(sctx); scrub_pending_bio_inc(sctx);
btrfsic_submit_bio(READ, sbio->bio);
if (!sbio->bio->bi_bdev) {
/*
* this case should not happen. If btrfs_map_block() is
* wrong, it could happen for dev-replace operations on
* missing devices when no mirrors are available, but in
* this case it should already fail the mount.
* This case is handled correctly (but _very_ slowly).
*/
printk_ratelimited(KERN_WARNING
"BTRFS: scrub_submit(bio bdev == NULL) is unexpected!\n");
bio_endio(sbio->bio, -EIO);
} else {
btrfsic_submit_bio(READ, sbio->bio);
}
} }
static int scrub_add_page_to_rd_bio(struct scrub_ctx *sctx, static int scrub_add_page_to_rd_bio(struct scrub_ctx *sctx,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment