From: Shaohua Li Date: Wed, 18 May 2011 09:22:43 +0000 (+0200) Subject: block: don't delay blk_run_queue_async X-Git-Tag: v2.6.39~4^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ec717b7ca4ee1d75d77e4f6286430d8f01d1dbd;p=pandora-kernel.git block: don't delay blk_run_queue_async Let's check a scenario: 1. blk_delay_queue(q, SCSI_QUEUE_DELAY); 2. blk_run_queue_async(); the second one will became a noop, because q->delay_work already has WORK_STRUCT_PENDING_BIT set, so the delayed work will still run after SCSI_QUEUE_DELAY. But blk_run_queue_async actually hopes the delayed work runs immediately. Fix this by doing a cancel on potentially pending delayed work before queuing an immediate run of the workqueue. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe --- Reading git-diff-tree failed