mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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: Omar Sandoval <osandov@fb.com> Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
parent
293a8489f3
commit
03679ade86
1 changed files with 1 additions and 15 deletions
|
@ -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,
|
||||||
|
|
Loading…
Add table
Reference in a new issue