On Tue, Feb 15, 2011 at 04:20:16PM +0000, Jan Beulich wrote: > > Yeah, right. blk_flush_complete_seq_end_io() is on completion path > > and shouldn't call directly into request_fn. Can you please test > > whether the following patch fixes the problem? > > Isn't that rather meant to deal with the first of the two cases (i.e. > not the one above, where the problem is with the direct call to > request_fn from __generic_unplug_device())? Right, didn't realize there were two issues. The following should take care of the second one. diff --git a/block/blk-flush.c b/block/blk-flush.c index 54b123d..fbaa037 100644 --- a/block/blk-flush.c +++ b/block/blk-flush.c @@ -130,7 +130,7 @@ static struct request *queue_next_fseq(struct request_queue *q) BUG(); } - elv_insert(q, rq, ELEVATOR_INSERT_FRONT); + elv_insert(q, rq, ELEVATOR_INSERT_REQUEUE); return rq; } -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html