diff options
-rw-r--r-- | block/blk-core.c | 16 | ||||
-rw-r--r-- | include/linux/blkdev.h | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index c487b94c59e3..33e2f62d5062 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -207,6 +207,22 @@ void blk_delay_queue(struct request_queue *q, unsigned long msecs) | |||
207 | EXPORT_SYMBOL(blk_delay_queue); | 207 | EXPORT_SYMBOL(blk_delay_queue); |
208 | 208 | ||
209 | /** | 209 | /** |
210 | * blk_start_queue_async - asynchronously restart a previously stopped queue | ||
211 | * @q: The &struct request_queue in question | ||
212 | * | ||
213 | * Description: | ||
214 | * blk_start_queue_async() will clear the stop flag on the queue, and | ||
215 | * ensure that the request_fn for the queue is run from an async | ||
216 | * context. | ||
217 | **/ | ||
218 | void blk_start_queue_async(struct request_queue *q) | ||
219 | { | ||
220 | queue_flag_clear(QUEUE_FLAG_STOPPED, q); | ||
221 | blk_run_queue_async(q); | ||
222 | } | ||
223 | EXPORT_SYMBOL(blk_start_queue_async); | ||
224 | |||
225 | /** | ||
210 | * blk_start_queue - restart a previously stopped queue | 226 | * blk_start_queue - restart a previously stopped queue |
211 | * @q: The &struct request_queue in question | 227 | * @q: The &struct request_queue in question |
212 | * | 228 | * |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 0169ba2e2e64..c70e3588a48c 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -797,6 +797,7 @@ extern int sg_scsi_ioctl(struct request_queue *, struct gendisk *, fmode_t, | |||
797 | extern int blk_queue_enter(struct request_queue *q, gfp_t gfp); | 797 | extern int blk_queue_enter(struct request_queue *q, gfp_t gfp); |
798 | extern void blk_queue_exit(struct request_queue *q); | 798 | extern void blk_queue_exit(struct request_queue *q); |
799 | extern void blk_start_queue(struct request_queue *q); | 799 | extern void blk_start_queue(struct request_queue *q); |
800 | extern void blk_start_queue_async(struct request_queue *q); | ||
800 | extern void blk_stop_queue(struct request_queue *q); | 801 | extern void blk_stop_queue(struct request_queue *q); |
801 | extern void blk_sync_queue(struct request_queue *q); | 802 | extern void blk_sync_queue(struct request_queue *q); |
802 | extern void __blk_stop_queue(struct request_queue *q); | 803 | extern void __blk_stop_queue(struct request_queue *q); |