[PATCH v3 0/11] Fix race conditions related to stopping block layer queues
Bart Van Assche
bart.vanassche at sandisk.com
Thu Oct 20 08:35:55 PDT 2016
On 10/20/2016 07:52 AM, Keith Busch wrote:
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index ccd9cc5..078530c 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -201,7 +201,7 @@ static struct nvme_ns *nvme_get_ns_from_disk(struct gendisk *disk)
>
> void nvme_requeue_req(struct request *req)
> {
> - blk_mq_requeue_request(req, true);
> + blk_mq_requeue_request(req, !blk_mq_queue_stopped(req->q));
> }
> EXPORT_SYMBOL_GPL(nvme_requeue_req);
Hello Keith,
What I had missed while I was preparing my patch series is that the NVMe
driver, unlike the dm driver, can call blk_mq_requeue_request() on a
stopped queue. So the above patch is needed to keep the current
semantics of the NVMe code. I will merge this patch in my patch series.
Thanks,
Bart.
More information about the Linux-nvme
mailing list