Hi Bart,

this looks great!

Reviewed-by: Christoph Hellwig <h...@lst.de>

Some minor nitpicks below:

>  void nvme_requeue_req(struct request *req)
>  {
> +     blk_mq_requeue_request(req, true);
>  }
>  EXPORT_SYMBOL_GPL(nvme_requeue_req);

Please just remove the nvme_requeue_req wrapper.

>  
> @@ -2074,11 +2068,14 @@ EXPORT_SYMBOL_GPL(nvme_kill_queues);
>  void nvme_stop_queues(struct nvme_ctrl *ctrl)
>  {
>       struct nvme_ns *ns;
> +     struct request_queue *q;
>  
>       mutex_lock(&ctrl->namespaces_mutex);
>       list_for_each_entry(ns, &ctrl->namespaces, list) {
> +             q = ns->queue;
> +             blk_mq_cancel_requeue_work(q);
> +             blk_mq_stop_hw_queues(q);
> +             blk_mq_quiesce_queue(q);
>       }

I'd keep the q declaration in the minimal scope, e.g.

        list_for_each_entry(ns, &ctrl->namespaces, list) {
                struct request_queue *q = ns->queue;

                blk_mq_cancel_requeue_work(q);
                blk_mq_stop_hw_queues(q);
                blk_mq_quiesce_queue(q);
        }
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to