Commit 35797132 authored by Jens Axboe's avatar Jens Axboe Committed by Linus Torvalds

[PATCH] cfq-iosched: reverse bad reference count fix

The reference count fix merged isn't fully bug free. It doesn't leak
now, but instead it crashes due to looking at freed memory. So for now,
lets reverse the change and I'll fix it for real next week.
Signed-off-by: default avatarJens Axboe <axboe@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 31139971
...@@ -2260,6 +2260,8 @@ static void cfq_put_cfqd(struct cfq_data *cfqd) ...@@ -2260,6 +2260,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; q->elevator->elevator_data = NULL;
...@@ -2316,6 +2318,7 @@ static int cfq_init_queue(request_queue_t *q, elevator_t *e) ...@@ -2316,6 +2318,7 @@ static int cfq_init_queue(request_queue_t *q, elevator_t *e)
e->elevator_data = cfqd; e->elevator_data = cfqd;
cfqd->queue = q; cfqd->queue = q;
atomic_inc(&q->refcnt);
cfqd->max_queued = q->nr_requests / 4; cfqd->max_queued = q->nr_requests / 4;
q->nr_batching = cfq_queued; q->nr_batching = cfq_queued;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment