From: Keith Busch Date: Wed, 1 Mar 2017 19:22:10 +0000 (-0500) Subject: blk-mq: Export blk_mq_freeze_queue_wait X-Git-Tag: v4.1.12-106.0.20170720_1900~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a076ce5fd490b86e9043f10ec16273a2e60f81aa;p=users%2Fjedix%2Flinux-maple.git blk-mq: Export blk_mq_freeze_queue_wait Drivers can start a freeze, so this provides a way to wait for frozen. Signed-off-by: Keith Busch Reviewed-by: Christoph Hellwig Signed-off-by: Sagi Grimberg Signed-off-by: Jens Axboe (cherry picked from commit 6bae363ee3057a14eec93440826813603559273a) Orabug: 26486098 Signed-off-by: Ashok Vairavan Reviewed-by: Martin K. Petersen --- diff --git a/block/blk-mq.c b/block/blk-mq.c index bebb92640a6c..ed0a92268c76 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -89,10 +89,11 @@ void blk_mq_freeze_queue_start(struct request_queue *q) } EXPORT_SYMBOL_GPL(blk_mq_freeze_queue_start); -static void blk_mq_freeze_queue_wait(struct request_queue *q) +void blk_mq_freeze_queue_wait(struct request_queue *q) { wait_event(q->mq_freeze_wq, percpu_ref_is_zero(&q->q_usage_counter)); } +EXPORT_SYMBOL_GPL(blk_mq_freeze_queue_wait); int blk_mq_freeze_queue_wait_timeout(struct request_queue *q, unsigned long timeout) diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 6de02be8f349..de01a0710b45 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -238,6 +238,7 @@ void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset, void blk_mq_freeze_queue(struct request_queue *q); void blk_mq_unfreeze_queue(struct request_queue *q); void blk_mq_freeze_queue_start(struct request_queue *q); +void blk_mq_freeze_queue_wait(struct request_queue *q); int blk_mq_freeze_queue_wait_timeout(struct request_queue *q, unsigned long timeout);