diff options
author | Christoph Hellwig | 2011-04-18 11:41:33 +0200 |
---|---|---|
committer | Jens Axboe | 2011-04-18 11:41:33 +0200 |
commit | 24ecfbe27f65563909b14492afda2f1c21f7c044 (patch) | |
tree | a7e51d903c400d0925f87be5f3069a5a44e0af24 /block/blk-flush.c | |
parent | block: blk_delay_queue() should use kblockd workqueue (diff) | |
download | kernel-qcow2-linux-24ecfbe27f65563909b14492afda2f1c21f7c044.tar.gz kernel-qcow2-linux-24ecfbe27f65563909b14492afda2f1c21f7c044.tar.xz kernel-qcow2-linux-24ecfbe27f65563909b14492afda2f1c21f7c044.zip |
block: add blk_run_queue_async
Instead of overloading __blk_run_queue to force an offload to kblockd
add a new blk_run_queue_async helper to do it explicitly. I've kept
the blk_queue_stopped check for now, but I suspect it's not needed
as the check we do when the workqueue items runs should be enough.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block/blk-flush.c')
-rw-r--r-- | block/blk-flush.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/block/blk-flush.c b/block/blk-flush.c index eba4a2790c6c..6c9b5e189e62 100644 --- a/block/blk-flush.c +++ b/block/blk-flush.c @@ -218,7 +218,7 @@ static void flush_end_io(struct request *flush_rq, int error) * request_fn may confuse the driver. Always use kblockd. */ if (queued) - __blk_run_queue(q, true); + blk_run_queue_async(q); } /** @@ -274,7 +274,7 @@ static void flush_data_end_io(struct request *rq, int error) * the comment in flush_end_io(). */ if (blk_flush_complete_seq(rq, REQ_FSEQ_DATA, error)) - __blk_run_queue(q, true); + blk_run_queue_async(q); } /** |