diff options
author | Jens Axboe <axboe@suse.de> | 2005-10-31 07:51:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-31 10:41:28 -0500 |
commit | 4fc207419d95e0e16fdc78e2f48f7c0b3640ffe5 (patch) | |
tree | 7b36e5810e549038d6cf4d1efd98aaf0541bbb11 | |
parent | dd05e42fa86e37b14f8169bbad8d334e2e8d4881 (diff) |
[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>
-rw-r--r-- | drivers/block/cfq-iosched.c | 4 |
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) | |||
2059 | if (!atomic_dec_and_test(&cfqd->ref)) | 2059 | if (!atomic_dec_and_test(&cfqd->ref)) |
2060 | return; | 2060 | return; |
2061 | 2061 | ||
2062 | blk_put_queue(q); | ||
2063 | |||
2064 | cfq_shutdown_timer_wq(cfqd); | 2062 | cfq_shutdown_timer_wq(cfqd); |
2065 | q->elevator->elevator_data = NULL; | 2063 | blk_put_queue(q); |
2066 | 2064 | ||
2067 | mempool_destroy(cfqd->crq_pool); | 2065 | mempool_destroy(cfqd->crq_pool); |
2068 | kfree(cfqd->crq_hash); | 2066 | kfree(cfqd->crq_hash); |