nvme-multipath: set QUEUE_FLAG_NOWAIT
authorChristoph Hellwig <hch@lst.de>
Mon, 14 Jun 2021 11:17:34 +0000 (13:17 +0200)
committerChristoph Hellwig <hch@lst.de>
Mon, 6 Sep 2021 07:59:02 +0000 (09:59 +0200)
The nvme multipathing code just dispatches bios to one of the blk-mq
based paths and never blocks on its own, so set QUEUE_FLAG_NOWAIT
to support REQ_NOWAIT bios.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/host/multipath.c

index 37ce3e8b1db2bf39839daab90b0437cde5232d01..d9a82adb856f911b66f98c0f25841a529771aea2 100644 (file)
@@ -465,6 +465,8 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
                        ctrl->subsys->instance, head->instance);
 
        blk_queue_flag_set(QUEUE_FLAG_NONROT, head->disk->queue);
+       blk_queue_flag_set(QUEUE_FLAG_NOWAIT, head->disk->queue);
+
        /* set to a default value of 512 until the disk is validated */
        blk_queue_logical_block_size(head->disk->queue, 512);
        blk_set_stacking_limits(&head->disk->queue->limits);