(untested, needs an explicit ack/nack from maintainer)
Spotted by Nick <[email protected]>, perhaps explains the first trace in
http://bugzilla.kernel.org/show_bug.cgi?id=9180.
cfq_exit_queue() should cancel cfqd->unplug_work before freeing cfqd.
blk_sync_queue() seems unneeded, removed.
Q: why cfq_exit_queue() calls cfq_shutdown_timer_wq() twice?
Signed-off-by: Oleg Nesterov <[email protected]>
--- K/block/cfq-iosched.c~1_cfq 2007-08-09 19:59:26.000000000 +0400
+++ K/block/cfq-iosched.c 2007-10-20 15:48:35.000000000 +0400
@@ -2053,7 +2053,7 @@ static void cfq_shutdown_timer_wq(struct
{
del_timer_sync(&cfqd->idle_slice_timer);
del_timer_sync(&cfqd->idle_class_timer);
- blk_sync_queue(cfqd->queue);
+ kblockd_flush_work(&cfqd->unplug_work);
}
static void cfq_put_async_queues(struct cfq_data *cfqd)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]