blk-mq: update comments on blk_mq_quiesce_queue()
Actually what we want to get from blk_mq_quiesce_queue() isn't only to wait for completion of all ongoing .queue_rq(). In the typical context of canceling requests, we need to make sure that the following is done in the dispatch path before starting to cancel requests: - failed dispatched request is finished - busy dispatched request is requeued, and the STARTED flag is cleared So update comment to keep code, doc and our expection consistent. Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
f4560ffe8c
commit
69e07c4adb
|
@ -155,12 +155,13 @@ void blk_mq_unfreeze_queue(struct request_queue *q)
|
||||||
EXPORT_SYMBOL_GPL(blk_mq_unfreeze_queue);
|
EXPORT_SYMBOL_GPL(blk_mq_unfreeze_queue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* blk_mq_quiesce_queue() - wait until all ongoing queue_rq calls have finished
|
* blk_mq_quiesce_queue() - wait until all ongoing dispatches have finished
|
||||||
* @q: request queue.
|
* @q: request queue.
|
||||||
*
|
*
|
||||||
* Note: this function does not prevent that the struct request end_io()
|
* Note: this function does not prevent that the struct request end_io()
|
||||||
* callback function is invoked. Additionally, it is not prevented that
|
* callback function is invoked. Once this function is returned, we make
|
||||||
* new queue_rq() calls occur unless the queue has been stopped first.
|
* sure no dispatch can happen until the queue is unquiesced via
|
||||||
|
* blk_mq_unquiesce_queue().
|
||||||
*/
|
*/
|
||||||
void blk_mq_quiesce_queue(struct request_queue *q)
|
void blk_mq_quiesce_queue(struct request_queue *q)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue