Hi Bart,
this looks great!
Reviewed-by: Christoph Hellwig <hch@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.
quoted hunk ↗ jump to hunk
@@ -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);
}
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme