[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>
This commit is contained in:
parent
dd05e42fa8
commit
4fc207419d
|
@ -2059,10 +2059,8 @@ static void cfq_put_cfqd(struct cfq_data *cfqd)
|
||||||
if (!atomic_dec_and_test(&cfqd->ref))
|
if (!atomic_dec_and_test(&cfqd->ref))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
blk_put_queue(q);
|
|
||||||
|
|
||||||
cfq_shutdown_timer_wq(cfqd);
|
cfq_shutdown_timer_wq(cfqd);
|
||||||
q->elevator->elevator_data = NULL;
|
blk_put_queue(q);
|
||||||
|
|
||||||
mempool_destroy(cfqd->crq_pool);
|
mempool_destroy(cfqd->crq_pool);
|
||||||
kfree(cfqd->crq_hash);
|
kfree(cfqd->crq_hash);
|
||||||
|
|
Loading…
Reference in New Issue