summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-02-05 08:27:38 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-05 20:06:51 +0100
commit238e7db9357bfe1ce3d6f7ac1e60e595e9d46b7b (patch)
tree3688c8145e4bfa61a387137dafc966470569d2b8
parent[PATCH] fix ordering on requeued request drainage (diff)
downloadlinux-238e7db9357bfe1ce3d6f7ac1e60e595e9d46b7b.tar.xz
linux-238e7db9357bfe1ce3d6f7ac1e60e595e9d46b7b.zip
[PATCH] block: request_queue->ordcolor must not be flipped on SOFTBARRIER
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>
-rw-r--r--block/elevator.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c
index 96a61e029ce5..2fc269f69726 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -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