On 11/23/2017 02:48 AM, Ming Lei wrote:
Now once blk_freeze_queue() returns, all requests(in-queue and pending)
can be drained, but we still need to drain blkcg part of request_queue
for both blk-mq and legacy, so this patch calls blkcg_drain_queue()
explicitely in blk_cleanup_queue() to do that.

Then the __blk_drain_queue() in blk_cleanup_queue() can be covered by both
blk_freeze_queue() and blkcg_drain_queue(), and tasks blocked in get_request()
are waken up in blk_set_queue_dying() too, so remove it from 
blk_cleanup_queue().

Cc: Wen Xiong<[email protected]>
Cc: Mauricio Faria de Oliveira<[email protected]>
Signed-off-by: Ming Lei<[email protected]>

Tested-by: Mauricio Faria de Oliveira <[email protected]>

All disk pull tests completed successfully without I/O hangs (24 disks).


--
Mauricio Faria de Oliveira
IBM Linux Technology Center

Reply via email to