block: replace bi_bdev with a gendisk pointer and partitions index
[sfrench/cifs-2.6.git] / drivers / md / multipath.c
index 23a162ba6c56399b2fa9cecae58c72d48939b1a6..b68e0666b9b0bb6addccec7ba08d1e014e198dc2 100644 (file)
@@ -134,7 +134,7 @@ static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
        __bio_clone_fast(&mp_bh->bio, bio);
 
        mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset;
-       mp_bh->bio.bi_bdev = multipath->rdev->bdev;
+       bio_set_dev(&mp_bh->bio, multipath->rdev->bdev);
        mp_bh->bio.bi_opf |= REQ_FAILFAST_TRANSPORT;
        mp_bh->bio.bi_end_io = multipath_end_request;
        mp_bh->bio.bi_private = mp_bh;
@@ -345,17 +345,17 @@ static void multipathd(struct md_thread *thread)
 
                if ((mp_bh->path = multipath_map (conf))<0) {
                        pr_err("multipath: %s: unrecoverable IO read error for block %llu\n",
-                              bdevname(bio->bi_bdev,b),
+                              bio_devname(bio, b),
                               (unsigned long long)bio->bi_iter.bi_sector);
                        multipath_end_bh_io(mp_bh, BLK_STS_IOERR);
                } else {
                        pr_err("multipath: %s: redirecting sector %llu to another IO path\n",
-                              bdevname(bio->bi_bdev,b),
+                              bio_devname(bio, b),
                               (unsigned long long)bio->bi_iter.bi_sector);
                        *bio = *(mp_bh->master_bio);
                        bio->bi_iter.bi_sector +=
                                conf->multipaths[mp_bh->path].rdev->data_offset;
-                       bio->bi_bdev = conf->multipaths[mp_bh->path].rdev->bdev;
+                       bio_set_dev(bio, conf->multipaths[mp_bh->path].rdev->bdev);
                        bio->bi_opf |= REQ_FAILFAST_TRANSPORT;
                        bio->bi_end_io = multipath_end_request;
                        bio->bi_private = mp_bh;