Btrfs: remove misleading handling of missing device scrub
authorOmar Sandoval <osandov@fb.com>
Fri, 19 Jun 2015 18:52:48 +0000 (11:52 -0700)
committerChris Mason <clm@fb.com>
Sun, 9 Aug 2015 14:34:26 +0000 (07:34 -0700)
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>
fs/btrfs/scrub.c

index 7555ddc5289fda675ca4a5cb1617f8a0032b9f8f..a12c450e55fa92ecbc883d280cb1cfb9312aee58 100644 (file)
@@ -2096,21 +2096,7 @@ static void scrub_submit(struct scrub_ctx *sctx)
        sbio = sctx->bios[sctx->curr];
        sctx->curr = -1;
        scrub_pending_bio_inc(sctx);
-
-       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);
-       }
+       btrfsic_submit_bio(READ, sbio->bio);
 }
 
 static int scrub_add_page_to_rd_bio(struct scrub_ctx *sctx,