[PATCH] block: request_queue->ordcolor must not be flipped on SOFTBARRIER
authorTejun Heo <htejun@gmail.com>
Sun, 5 Feb 2006 07:27:38 +0000 (23:27 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 5 Feb 2006 19:06:51 +0000 (11:06 -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 96a61e029ce5e7858d2e024c08eff817b5a998d6..2fc269f69726d67e7a8ab7bcf6a58e2a10af009b 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