Re: [PATCH v2 4/8] blk-mq: fix blk_mq_quiesce_queue

Ming Lei
2017-05-31T02:52:20Z

On Tue, May 30, 2017 at 07:23:31PM +0000, Bart Van Assche wrote:
> On Sun, 2017-05-28 at 18:44 +0800, Ming Lei wrote:
> > First it is really a fix, and then a improvement, so could you tell me
> > where is wrong with the title and the description?
>
> Hello Ming,
>
> Can you explain me why you want to keep theï¿½blk_mq_stop_hw_queues() call in
> nvme_suspend_queue()? Since immediately after that call the NVMe driver starts
> freeing resources, shouldn't that call be changed into a call of
> blk_mq_quiesce_queue()? I think the same comment also applies to the
> blk_mq_stop_hw_queues() calls in nvme_rdma_error_recovery_work() and
> nvme_rdma_shutdown_ctrl().

Not only NVMe, also other suspend cases in virito-blk, dm, and ...

But that doesn't belong to this patchset, and definitely a follow up.
The big purpose of this patchset is to make blk_mq_quiesce_queue() easy to use,
correct and avoiding potential races.

Then we can fix cases of canceling requests, and other cases like you
mentioned.

Thanks,
Ming