aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMartin K. Petersen <martin.petersen@oracle.com>2014-09-26 19:20:06 -0400
committerJens Axboe <axboe@fb.com>2014-09-27 11:14:57 -0400
commit4eaf99beadcefbf126fa05e66fb40fca999e09fd (patch)
treee91203868eb48cdf06dd575e7d3f3569d6b6bfc9 /include
parentaae7df50190a640e51bfe11c93f94741ac82ff0b (diff)
block: Don't merge requests if integrity flags differ
We'd occasionally merge requests with conflicting integrity flags. Introduce a merge helper which checks that the requests have compatible integrity payloads. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/blkdev.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 773df190a4ee..038b40f84c7a 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1497,10 +1497,10 @@ extern int blk_integrity_compare(struct gendisk *, struct gendisk *);
1497extern int blk_rq_map_integrity_sg(struct request_queue *, struct bio *, 1497extern int blk_rq_map_integrity_sg(struct request_queue *, struct bio *,
1498 struct scatterlist *); 1498 struct scatterlist *);
1499extern int blk_rq_count_integrity_sg(struct request_queue *, struct bio *); 1499extern int blk_rq_count_integrity_sg(struct request_queue *, struct bio *);
1500extern int blk_integrity_merge_rq(struct request_queue *, struct request *, 1500extern bool blk_integrity_merge_rq(struct request_queue *, struct request *,
1501 struct request *); 1501 struct request *);
1502extern int blk_integrity_merge_bio(struct request_queue *, struct request *, 1502extern bool blk_integrity_merge_bio(struct request_queue *, struct request *,
1503 struct bio *); 1503 struct bio *);
1504 1504
1505static inline 1505static inline
1506struct blk_integrity *bdev_get_integrity(struct block_device *bdev) 1506struct blk_integrity *bdev_get_integrity(struct block_device *bdev)
@@ -1580,15 +1580,15 @@ static inline unsigned short queue_max_integrity_segments(struct request_queue *
1580{ 1580{
1581 return 0; 1581 return 0;
1582} 1582}
1583static inline int blk_integrity_merge_rq(struct request_queue *rq, 1583static inline bool blk_integrity_merge_rq(struct request_queue *rq,
1584 struct request *r1, 1584 struct request *r1,
1585 struct request *r2) 1585 struct request *r2)
1586{ 1586{
1587 return 0; 1587 return 0;
1588} 1588}
1589static inline int blk_integrity_merge_bio(struct request_queue *rq, 1589static inline bool blk_integrity_merge_bio(struct request_queue *rq,
1590 struct request *r, 1590 struct request *r,
1591 struct bio *b) 1591 struct bio *b)
1592{ 1592{
1593 return 0; 1593 return 0;
1594} 1594}