[PATCH 1/2] blk-integrity: add rq_integrity_payload_size helper

From: Jinyoung CHOI
Date: Wed Apr 12 2023 - 01:21:49 EST


This provides a nice shortcut to get the size of the integrity data
for the driver like NVMe that only support a single integrity segment.

Signed-off-by: Jinyoung Choi <j-young.choi@xxxxxxxxxxx>
---
include/linux/blk-integrity.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/include/linux/blk-integrity.h b/include/linux/blk-integrity.h
index 378b2459efe2..abf1923f4aa5 100644
--- a/include/linux/blk-integrity.h
+++ b/include/linux/blk-integrity.h
@@ -114,6 +114,13 @@ static inline struct bio_vec *rq_integrity_vec(struct request *rq)
return NULL;
return rq->bio->bi_integrity->bip_vec;
}
+
+static inline unsigned int rq_integrity_payload_size(struct request *rq)
+{
+ if (WARN_ON_ONCE(queue_max_integrity_segments(rq->q) > 1))
+ return 0;
+ return rq->bio->bi_integrity->bip_iter.bi_size;
+}
#else /* CONFIG_BLK_DEV_INTEGRITY */
static inline int blk_rq_count_integrity_sg(struct request_queue *q,
struct bio *b)
--
2.34.1