[PATCH] block: request_queue->ordcolor must not be flipped on SOFTBARRIER
Tejun Heo [Sun, 5 Feb 2006 07:27:38 +0000 (23:27 -0800)]
q->ordcolor must not be flipped on SOFTBARRIER.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

block/elevator.c

index 96a61e0..2fc269f 100644 (file)
@@ -323,7 +323,8 @@ void __elv_add_request(request_queue_t *q, struct request *rq, int where,
                /*
                 * toggle ordered color
                 */
-               q->ordcolor ^= 1;
+               if (blk_barrier_rq(rq))
+                       q->ordcolor ^= 1;
 
                /*
                 * barriers implicitly indicate back insertion