mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
block: add a rq_integrity_vec helper
This provides a nice little shortcut to get the integrity data for drivers like NVMe that only support a single integrity segment. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <keith.busch@intel.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
This commit is contained in:
parent
3aef3cae43
commit
2a876f5e25
1 changed files with 16 additions and 0 deletions
|
@ -1559,6 +1559,17 @@ static inline unsigned int bio_integrity_bytes(struct blk_integrity *bi,
|
|||
return bio_integrity_intervals(bi, sectors) * bi->tuple_size;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the first bvec that contains integrity data. Only drivers that are
|
||||
* limited to a single integrity segment should use this helper.
|
||||
*/
|
||||
static inline struct bio_vec *rq_integrity_vec(struct request *rq)
|
||||
{
|
||||
if (WARN_ON_ONCE(queue_max_integrity_segments(rq->q) > 1))
|
||||
return NULL;
|
||||
return rq->bio->bi_integrity->bip_vec;
|
||||
}
|
||||
|
||||
#else /* CONFIG_BLK_DEV_INTEGRITY */
|
||||
|
||||
struct bio;
|
||||
|
@ -1633,6 +1644,11 @@ static inline unsigned int bio_integrity_bytes(struct blk_integrity *bi,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline struct bio_vec *rq_integrity_vec(struct request *rq)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_BLK_DEV_INTEGRITY */
|
||||
|
||||
struct block_device_operations {
|
||||
|
|
Loading…
Reference in a new issue