summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2005-10-31 15:51:33 +0300
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-31 18:41:28 +0300
commit4fc207419d95e0e16fdc78e2f48f7c0b3640ffe5 (patch)
tree7b36e5810e549038d6cf4d1efd98aaf0541bbb11 /drivers/block
parentdd05e42fa86e37b14f8169bbad8d334e2e8d4881 (diff)
downloadlinux-4fc207419d95e0e16fdc78e2f48f7c0b3640ffe5.tar.xz
[PATCH] Fix on-the-fly switch from cfq i/o scheduler
Don't clear ->elevator_data on exit, if we are switching queues we are overwriting the data of the new io scheduler. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/cfq-iosched.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/block/cfq-iosched.c b/drivers/block/cfq-iosched.c
index 5281f8e70510..ecacca9c877e 100644
--- a/drivers/block/cfq-iosched.c
+++ b/drivers/block/cfq-iosched.c
@@ -2059,10 +2059,8 @@ static void cfq_put_cfqd(struct cfq_data *cfqd)
if (!atomic_dec_and_test(&cfqd->ref))
return;
- blk_put_queue(q);
-
cfq_shutdown_timer_wq(cfqd);
- q->elevator->elevator_data = NULL;
+ blk_put_queue(q);
mempool_destroy(cfqd->crq_pool);
kfree(cfqd->crq_hash);