Re: [PATCH] block: eliminate ELEVATOR_INSERT_REQUEUE

From: Tejun Heo
Date: Wed Mar 30 2011 - 07:20:48 EST


Hello, Jens.

On Wed, Mar 30, 2011 at 12:16:13PM +0200, Jens Axboe wrote:
> @@ -261,7 +261,7 @@ static bool blk_kick_flush(struct request_queue *q)
> q->flush_rq.end_io = flush_end_io;
>
> q->flush_pending_idx ^= 1;
> - elv_insert(q, &q->flush_rq, ELEVATOR_INSERT_REQUEUE);
> + __elv_add_request(q, &q->flush_rq, ELEVATOR_INSERT_FLUSH);

Shouldn't this be list_add_tail(&rq->queuelist, &q->queue_head)?
__elv_add_request(FLUSH) calls back into blk_insert_flush() which
decomposes the flush request from FS into flush sequence.
blk_kick_flush() is used to insert the decomposed sequence requests
into the dispatch queue.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/