commit | 96c51ce94e8415d2dfb08358bbd50e1589111f33 | [log] [tgz] |
---|---|---|
author | Jens Axboe <axboe@suse.de> | Mon Jun 27 14:49:39 2005 +0200 |
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | Mon Jun 27 14:33:30 2005 -0700 |
tree | b1b049dce9f3013334ddca6019e5835c4c994ae6 | |
parent | 52a5e15f665385ac99607d6b9e0c3dbdf17c5cfa [diff] |
[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>