diff options
author | Keith Busch <keith.busch@intel.com> | 2014-12-19 19:54:14 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-12-20 12:34:15 -0500 |
commit | b4c6a028774bcf3f20ed1e66c27a05aa51a8cf55 (patch) | |
tree | 06e839b2bd07bb335c86c9798fb9cee53cc8c6ab /block | |
parent | c76541a932113faa5b3be65a3f0a3d4ebbc86aeb (diff) |
blk-mq: Export freeze/unfreeze functions
Let drivers prevent entering a queue that isn't available.
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index bfe0f1f9cfa0..97ebb84b5633 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c | |||
@@ -107,7 +107,7 @@ static void blk_mq_usage_counter_release(struct percpu_ref *ref) | |||
107 | wake_up_all(&q->mq_freeze_wq); | 107 | wake_up_all(&q->mq_freeze_wq); |
108 | } | 108 | } |
109 | 109 | ||
110 | static void blk_mq_freeze_queue_start(struct request_queue *q) | 110 | void blk_mq_freeze_queue_start(struct request_queue *q) |
111 | { | 111 | { |
112 | bool freeze; | 112 | bool freeze; |
113 | 113 | ||
@@ -120,6 +120,7 @@ static void blk_mq_freeze_queue_start(struct request_queue *q) | |||
120 | blk_mq_run_queues(q, false); | 120 | blk_mq_run_queues(q, false); |
121 | } | 121 | } |
122 | } | 122 | } |
123 | EXPORT_SYMBOL_GPL(blk_mq_freeze_queue_start); | ||
123 | 124 | ||
124 | static void blk_mq_freeze_queue_wait(struct request_queue *q) | 125 | static void blk_mq_freeze_queue_wait(struct request_queue *q) |
125 | { | 126 | { |
@@ -136,7 +137,7 @@ void blk_mq_freeze_queue(struct request_queue *q) | |||
136 | blk_mq_freeze_queue_wait(q); | 137 | blk_mq_freeze_queue_wait(q); |
137 | } | 138 | } |
138 | 139 | ||
139 | static void blk_mq_unfreeze_queue(struct request_queue *q) | 140 | void blk_mq_unfreeze_queue(struct request_queue *q) |
140 | { | 141 | { |
141 | bool wake; | 142 | bool wake; |
142 | 143 | ||
@@ -149,6 +150,7 @@ static void blk_mq_unfreeze_queue(struct request_queue *q) | |||
149 | wake_up_all(&q->mq_freeze_wq); | 150 | wake_up_all(&q->mq_freeze_wq); |
150 | } | 151 | } |
151 | } | 152 | } |
153 | EXPORT_SYMBOL_GPL(blk_mq_unfreeze_queue); | ||
152 | 154 | ||
153 | bool blk_mq_can_queue(struct blk_mq_hw_ctx *hctx) | 155 | bool blk_mq_can_queue(struct blk_mq_hw_ctx *hctx) |
154 | { | 156 | { |