blk-mq: Add bio_integrity setup to blk_mq_make_request
authorNicholas Bellinger <nab@linux-iscsi.org>
Fri, 7 Feb 2014 20:45:39 +0000 (13:45 -0700)
committerJens Axboe <axboe@fb.com>
Fri, 7 Feb 2014 20:45:39 +0000 (13:45 -0700)
This patch adds the missing bio_integrity_enabled() +
bio_integrity_prep() setup into blk_mq_make_request()
in order to use DIF protection with scsi-mq.

Cc: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c

index f1e63c2ece71ce66e5e4045733e0a159d4a25b85..cee96234bf589393c464b491ea27a2495b1d889e 100644 (file)
@@ -922,6 +922,11 @@ static void blk_mq_make_request(struct request_queue *q, struct bio *bio)
 
        blk_queue_bounce(q, &bio);
 
+       if (bio_integrity_enabled(bio) && bio_integrity_prep(bio)) {
+               bio_endio(bio, -EIO);
+               return;
+       }
+
        if (use_plug && blk_attempt_plug_merge(q, bio, &request_count))
                return;