]> git.baikalelectronics.ru Git - kernel.git/commit
block: fix failfast merge testing in elv_rq_merge_ok()
authorTejun Heo <tj@kernel.org>
Thu, 16 Jul 2009 06:26:55 +0000 (15:26 +0900)
committerTejun Heo <tj@kernel.org>
Fri, 17 Jul 2009 05:50:43 +0000 (14:50 +0900)
commitad2eb37f6c1ea6bf28dc1ad560b25f92f78bd093
tree4bb79b77f020c340c6873d760b9de444fbbd5ffe
parentf691537dabf86de9e61c469d54fce4d6f15b1dc8
block: fix failfast merge testing in elv_rq_merge_ok()

Commit 5dfc8c8fb7546d8e302ce12711ca18f0eed81dff tries to prevent merge
of requests with different failfast settings.  In elv_rq_merge_ok(),
it compares new bio's failfast flags against the merge target
request's.  However, the flag testing accessors for bio and blk don't
return boolean but the tested bit value directly and FAILFAST on bio
and blk don't match, so directly comparing them with == results in
false negative unnecessary preventing merge of readahead requests.

This patch convert the results to boolean by negating them before
comparison.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Boaz Harrosh <bharrosh@panasas.com>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Jeff Garzik <jeff@garzik.org>
block/elevator.c