cfq: choose a new next_req when a request is dispatched
authorJeff Moyer <jmoyer@redhat.com>
Fri, 11 Sep 2009 15:08:59 +0000 (17:08 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Mon, 14 Sep 2009 06:24:52 +0000 (08:24 +0200)
This patch addresses http://bugzilla.kernel.org/show_bug.cgi?id=13401, a
regression introduced in 2.6.30.

From the bug report:

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/cfq-iosched.c

index a34686f091dbf1fedcf435ec19124405d422ac2a..0e3814b662af3f7f1bd7c2f074d95150535ab132 100644 (file)
@@ -1110,6 +1110,7 @@ static void cfq_dispatch_insert(struct request_queue *q, struct request *rq)
 
        cfq_log_cfqq(cfqd, cfqq, "dispatch_insert");
 
+       cfqq->next_rq = cfq_find_next_rq(cfqd, cfqq, rq);
        cfq_remove_request(rq);
        cfqq->dispatched++;
        elv_dispatch_sort(q, rq);