summaryrefslogtreecommitdiffstats
path: root/block/blk-flush.c
diff options
context:
space:
mode:
authorChristoph Hellwig2011-04-18 11:41:33 +0200
committerJens Axboe2011-04-18 11:41:33 +0200
commit24ecfbe27f65563909b14492afda2f1c21f7c044 (patch)
treea7e51d903c400d0925f87be5f3069a5a44e0af24 /block/blk-flush.c
parentblock: blk_delay_queue() should use kblockd workqueue (diff)
downloadkernel-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.c4
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);
}
/**