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);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
* Note: this function does not prevent that the struct request end_io()
|
||||
* callback function is invoked. Additionally, it is not prevented that
|
||||
* new queue_rq() calls occur unless the queue has been stopped first.
|
||||
* callback function is invoked. Once this function is returned, we make
|
||||
* sure no dispatch can happen until the queue is unquiesced via
|
||||
* blk_mq_unquiesce_queue().
|
||||
*/
|
||||
void blk_mq_quiesce_queue(struct request_queue *q)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue