X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=block%2Felevator.c;h=1975b619c86d4e7f4212116c7fd3dd11b2a090eb;hb=ff830b8e5f999d1ccbd0282a666520f0b557daa4;hp=6f2375339a996a794c17c96d0f32aa724fd1fae2;hpb=cf7a2b4fb6a9b86779930a0a123b0df41aa9208f;p=linux-2.6-block.git diff --git a/block/elevator.c b/block/elevator.c index 6f2375339a99..1975b619c86d 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -79,7 +79,8 @@ int elv_rq_merge_ok(struct request *rq, struct bio *bio) /* * Don't merge file system requests and discard requests */ - if (bio_discard(bio) != bio_discard(rq->bio)) + if (bio_rw_flagged(bio, BIO_RW_DISCARD) != + bio_rw_flagged(rq->bio, BIO_RW_DISCARD)) return 0; /* @@ -100,14 +101,6 @@ int elv_rq_merge_ok(struct request *rq, struct bio *bio) if (bio_integrity(bio) != blk_integrity_rq(rq)) return 0; - /* - * Don't merge if failfast settings don't match - */ - if (bio_failfast_dev(bio) != blk_failfast_dev(rq) || - bio_failfast_transport(bio) != blk_failfast_transport(rq) || - bio_failfast_driver(bio) != blk_failfast_driver(rq)) - return 0; - if (!elv_iosched_allow_merge(rq, bio)) return 0;