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)
commit0a09f4319c6d88c732ed46735f8584bbb95cac65
tree4bb79b77f020c340c6873d760b9de444fbbd5ffe
parentc9d4bc289cd1cd43c3cff97b73efe2b0b5098a92
block: fix failfast merge testing in elv_rq_merge_ok()

Commit ab0fd1debe730ec9998678a0c53caefbd121ed10 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