Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[platform/kernel/linux-starfive.git] / drivers / block / drbd / drbd_req.c
index 84d61f7..c043945 100644 (file)
@@ -30,7 +30,8 @@ static struct drbd_request *drbd_req_new(struct drbd_device *device, struct bio
                return NULL;
        memset(req, 0, sizeof(*req));
 
-       req->private_bio = bio_clone_fast(bio_src, GFP_NOIO, &drbd_io_bio_set);
+       req->private_bio = bio_alloc_clone(device->ldev->backing_bdev, bio_src,
+                                          GFP_NOIO, &drbd_io_bio_set);
        req->private_bio->bi_private = req;
        req->private_bio->bi_end_io = drbd_request_endio;
 
@@ -908,8 +909,7 @@ static bool remote_due_to_read_balancing(struct drbd_device *device, sector_t se
 
        switch (rbm) {
        case RB_CONGESTED_REMOTE:
-               return bdi_read_congested(
-                       device->ldev->backing_bdev->bd_disk->bdi);
+               return 0;
        case RB_LEAST_PENDING:
                return atomic_read(&device->local_cnt) >
                        atomic_read(&device->ap_pending_cnt) + atomic_read(&device->rs_pending_cnt);
@@ -1150,8 +1150,6 @@ drbd_submit_req_private_bio(struct drbd_request *req)
        else
                type = DRBD_FAULT_DT_RD;
 
-       bio_set_dev(bio, device->ldev->backing_bdev);
-
        /* State may have changed since we grabbed our reference on the
         * ->ldev member. Double check, and short-circuit to endio.
         * In case the last activity log transaction failed to get on