]> err.no Git - linux-2.6/commit
[PATCH] CFQ io scheduler: scheduler switch oops
authorJens Axboe <axboe@suse.de>
Mon, 27 Jun 2005 12:49:39 +0000 (14:49 +0200)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 27 Jun 2005 21:33:30 +0000 (14:33 -0700)
commit96c51ce94e8415d2dfb08358bbd50e1589111f33
treeb1b049dce9f3013334ddca6019e5835c4c994ae6
parent52a5e15f665385ac99607d6b9e0c3dbdf17c5cfa
[PATCH] CFQ io scheduler: scheduler switch oops

If cfq is managing a queue and a new scheduler is later selected, it is
possible for the cfqd unplug_work work to be queued after the kblockd
work struct has been flushed.  The problem is the ordering of
cfq_shutdown_timer_wq() and blk_put_queue() in cfq_put_cfqd().  The
latter may rearm the work, leaving cfq_kick_queue() with dead data.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/block/cfq-iosched.c