Messages in this thread Patch in this message | | | Date | Wed, 30 Mar 2011 17:30:24 +0200 | From | Tejun Heo <> | Subject | Re: block: eliminate ELEVATOR_INSERT_REQUEUE |
| |
On Wed, Mar 30, 2011 at 11:22:48AM -0400, Vivek Goyal wrote: > So wee need this as stable fix because FLUSH request can get ahead of > REQUEUED requests and it can break some drivers?
Yes, I think so. All we need is just replacing elv_insert() calls in blk-flush.c with list_add_tail(). Something like the following. I'll test it and send a proper patch later. Thanks.
diff --git a/block/blk-flush.c b/block/blk-flush.c index b27d020..51a45a5 100644 --- a/block/blk-flush.c +++ b/block/blk-flush.c @@ -132,7 +132,7 @@ static struct request *queue_next_fseq(struct request_queue *q) BUG(); } - elv_insert(q, rq, ELEVATOR_INSERT_REQUEUE); + list_add_tail(&rq->queuelist, &q->queue_head); return rq; } -- tejun
| |