IOSCHED: prevent aliased requests from starving other I/O
/block/cfq-iosched.c
blob:bfe3bbe0097313caba2470de13713671f450ce82 -> blob:feea0536250cacfcac0aef5a4d3a73031e123d53
--- block/cfq-iosched.c
+++ block/cfq-iosched.c
@@ -1502,16 +1502,11 @@ static void cfq_add_rq_rb(struct request
{
struct cfq_queue *cfqq = RQ_CFQQ(rq);
struct cfq_data *cfqd = cfqq->cfqd;
- struct request *__alias, *prev;
+ struct request *prev;
cfqq->queued[rq_is_sync(rq)]++;
- /*
- * looks a little odd, but the first insert might return an alias.
- * if that happens, put the alias on the dispatch list
- */
- while ((__alias = elv_rb_add(&cfqq->sort_list, rq)) != NULL)
- cfq_dispatch_insert(cfqd->queue, __alias);
+ elv_rb_add(&cfqq->sort_list, rq);
if (!cfq_cfqq_on_rr(cfqq))
cfq_add_cfqq_rr(cfqd, cfqq);