[PATCH] Fix on-the-fly switch from cfq i/o scheduler
authorJens Axboe <axboe@suse.de>
Mon, 31 Oct 2005 12:51:33 +0000 (13:51 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 31 Oct 2005 15:41:28 +0000 (07:41 -0800)
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>
drivers/block/cfq-iosched.c

index 5281f8e70510cda1717f2bd385e0c19353476fdd..ecacca9c877eb286bdc77eb2aea5906cc3235e18 100644 (file)
@@ -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);