diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2021-06-08 23:39:15 -0400 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-07-20 22:08:55 -0400 |
commit | 7ba46799d34695534666a3f71a2be10ea85ece6c (patch) | |
tree | 02ff462025963230e3d890b873b58b692a353be7 /include/scsi | |
parent | f339c7e491a8150d416d4aa657fe379c20fe6b79 (diff) | |
download | linux-7ba46799d34695534666a3f71a2be10ea85ece6c.tar.gz linux-7ba46799d34695534666a3f71a2be10ea85ece6c.tar.bz2 linux-7ba46799d34695534666a3f71a2be10ea85ece6c.zip |
scsi: core: Add scsi_prot_ref_tag() helper
We are about to remove the request pointer from struct scsi_cmnd and that
will complicate getting to the ref_tag via t10_pi_ref_tag() in the various
drivers. Introduce a helper function to retrieve the reference tag so
drivers will not have to worry about the details.
Link: https://lore.kernel.org/r/20210609033929.3815-2-martin.petersen@oracle.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Message-Id: <20210609033929.3815-2-martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_cmnd.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 779a59fe8676..301b9cd4ddd0 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h @@ -287,6 +287,13 @@ static inline sector_t scsi_get_lba(struct scsi_cmnd *scmd) return blk_rq_pos(scmd->request); } +static inline u32 scsi_prot_ref_tag(struct scsi_cmnd *scmd) +{ + struct request *rq = blk_mq_rq_from_pdu(scmd); + + return t10_pi_ref_tag(rq); +} + static inline unsigned int scsi_prot_interval(struct scsi_cmnd *scmd) { return scmd->device->sector_size; |