lkml.org 
[lkml]   [2011]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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


\
 
 \ /
  Last update: 2011-03-30 17:33    [W:0.102 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site