old ide driver incompatible with new flush implementation (was: conflicting commits (block flush vs. ide))

Message ID 20110215163046.GO3160@htj.dyndns.org
State Not Applicable
Delegated to: David Miller
Headers show

Commit Message

Tejun Heo Feb. 15, 2011, 4:30 p.m.
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)
-	elv_insert(q, rq, ELEVATOR_INSERT_FRONT);
+	elv_insert(q, rq, ELEVATOR_INSERT_REQUEUE);
 	return rq;