Commit c347a787 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

drbd: set ->bi_bdev in drbd_req_new



Make sure the newly allocated bio has the correct bi_bdev set from the
start.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMike Snitzer <snitzer@redhat.com>
Link: https://lore.kernel.org/r/20220202160109.108149-2-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 78e34374
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ static struct drbd_request *drbd_req_new(struct drbd_device *device, struct bio
	memset(req, 0, sizeof(*req));

	req->private_bio = bio_clone_fast(bio_src, GFP_NOIO, &drbd_io_bio_set);
	bio_set_dev(req->private_bio, device->ldev->backing_bdev);
	req->private_bio->bi_private = req;
	req->private_bio->bi_end_io = drbd_request_endio;

@@ -1151,8 +1152,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