diff options
author | Tejun Heo <htejun@gmail.com> | 2006-02-05 08:27:38 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-05 20:06:51 +0100 |
commit | 238e7db9357bfe1ce3d6f7ac1e60e595e9d46b7b (patch) | |
tree | 3688c8145e4bfa61a387137dafc966470569d2b8 /block/elevator.c | |
parent | [PATCH] fix ordering on requeued request drainage (diff) | |
download | linux-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>
Diffstat (limited to 'block/elevator.c')
-rw-r--r-- | block/elevator.c | 3 |
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 |