summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2007-10-23 15:08:19 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-10-29 11:33:05 +0100
commitabbeb88d00bef294ce661a9229c1dc31be064545 (patch)
tree8e5468b3b2191eb4a497eb7edaa5ac3372c7ff28
parent4310864b9d17714e64446bfb8bc7dbcb96454475 (diff)
downloadlinux-3.10-abbeb88d00bef294ce661a9229c1dc31be064545.tar.gz
linux-3.10-abbeb88d00bef294ce661a9229c1dc31be064545.tar.bz2
linux-3.10-abbeb88d00bef294ce661a9229c1dc31be064545.zip
blk_sync_queue() should cancel request_queue->unplug_work
blk_sync_queue() cancels the timer, but forgets to cancel the work. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--block/ll_rw_blk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 49c0f18cb78..d8616e6ebd9 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -1738,6 +1738,7 @@ EXPORT_SYMBOL(blk_stop_queue);
void blk_sync_queue(struct request_queue *q)
{
del_timer_sync(&q->unplug_timer);
+ kblockd_flush_work(&q->unplug_work);
}
EXPORT_SYMBOL(blk_sync_queue);