Commit 3abe171c authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] elv_former_request reversion

This morning's fix for elv_former_request() is causing oopses all over the
place in the IO scheduler.

Jens, remember that I did try that fix a while ago, and the same happened.

I believe it has exposed a new problem at the __make_request/attempt_front_merge
level: if attempt_front_merge() actually succeeds, the wrong request gets freed
up in elv_merged_request().

It may be best to back this change out until it can be fixed up for real.
parent b4da2626
...@@ -399,7 +399,7 @@ struct request *elv_former_request(request_queue_t *q, struct request *rq) ...@@ -399,7 +399,7 @@ struct request *elv_former_request(request_queue_t *q, struct request *rq)
elevator_t *e = &q->elevator; elevator_t *e = &q->elevator;
if (e->elevator_former_req_fn) if (e->elevator_former_req_fn)
return e->elevator_former_req_fn(q, rq); return e->elevator_latter_req_fn(q, rq);
prev = rq->queuelist.prev; prev = rq->queuelist.prev;
if (prev != &q->queue_head && prev != &rq->queuelist) if (prev != &q->queue_head && prev != &rq->queuelist)
......
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