[PATCH] block: implement elv_insert and use it (fix ordcolor flipping bug)
authorTejun Heo <htejun@gmail.com>
Wed, 8 Feb 2006 09:01:31 +0000 (01:01 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 8 Feb 2006 15:52:58 +0000 (07:52 -0800)
commit30e9656cc340035e102fea46e1908689494b042d
tree5fc623ccad5a1f5b09ebc4b7e8d7c6bec8e485ac
parente5ea0a9fca5612808839dd4bcc41c46fc02451f9
[PATCH] block: implement elv_insert and use it (fix ordcolor flipping bug)

q->ordcolor must only be flipped on initial queueing of a hardbarrier
request.

Constructing ordered sequence and requeueing used to pass through
__elv_add_request() which flips q->ordcolor when it sees a barrier
request.

This patch separates out elv_insert() from __elv_add_request() and uses
elv_insert() when constructing ordered sequence and requeueing.
elv_insert() inserts the given request at the specified position and
does nothing else.

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
block/ll_rw_blk.c
include/linux/elevator.h