block: add secure discard
[linux-2.6-block.git] / block / elevator.c
index 816a7c8d6394257d89fb36bd67c6b01a62d92020..ec585c9554d33c04b973537f9ac3216e332afa50 100644 (file)
@@ -82,6 +82,12 @@ int elv_rq_merge_ok(struct request *rq, struct bio *bio)
        if ((bio->bi_rw & REQ_DISCARD) != (rq->bio->bi_rw & REQ_DISCARD))
                return 0;
 
+       /*
+        * Don't merge discard requests and secure discard requests
+        */
+       if ((bio->bi_rw & REQ_SECURE) != (rq->bio->bi_rw & REQ_SECURE))
+               return 0;
+
        /*
         * different data direction or already started, don't merge
         */