Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 drivers/nvdimm/blk.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
index 43751fab9d36a..ffe4728bad8b1 100644
--- a/drivers/nvdimm/blk.c
+++ b/drivers/nvdimm/blk.c
@@ -165,7 +165,7 @@ static int nsblk_do_bvec(struct nd_namespace_blk *nsblk,
 static blk_qc_t nd_blk_make_request(struct request_queue *q, struct bio *bio)
 {
        struct bio_integrity_payload *bip;
-       struct nd_namespace_blk *nsblk;
+       struct nd_namespace_blk *nsblk = bio->bi_disk->private_data;
        struct bvec_iter iter;
        unsigned long start;
        struct bio_vec bvec;
@@ -176,7 +176,6 @@ static blk_qc_t nd_blk_make_request(struct request_queue 
*q, struct bio *bio)
                return BLK_QC_T_NONE;
 
        bip = bio_integrity(bio);
-       nsblk = q->queuedata;
        rw = bio_data_dir(bio);
        do_acct = nd_iostat_start(bio, &start);
        bio_for_each_segment(bvec, bio, iter) {
@@ -258,7 +257,6 @@ static int nsblk_attach_disk(struct nd_namespace_blk *nsblk)
        blk_queue_max_hw_sectors(q, UINT_MAX);
        blk_queue_logical_block_size(q, nsblk_sector_size(nsblk));
        blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
-       q->queuedata = nsblk;
 
        disk = alloc_disk(0);
        if (!disk)
@@ -268,6 +266,7 @@ static int nsblk_attach_disk(struct nd_namespace_blk *nsblk)
        disk->fops              = &nd_blk_fops;
        disk->queue             = q;
        disk->flags             = GENHD_FL_EXT_DEVT;
+       disk->private_data      = nsblk;
        nvdimm_namespace_disk_name(&nsblk->common, disk->disk_name);
 
        if (devm_add_action_or_reset(dev, nd_blk_release_disk, disk))
-- 
2.26.2

Reply via email to