Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-2.6-block.git] / block / elevator.c
index 6f2375339a996a794c17c96d0f32aa724fd1fae2..1975b619c86d4e7f4212116c7fd3dd11b2a090eb 100644 (file)
@@ -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;