On Tue, Jun 08, 2021 at 11:39:26PM -0400, Martin K. Petersen wrote: > scsi_get_lba() confusingly returned the block layer sector number > expressed in units of 512 bytes. Now that we have a more aptly named > scsi_get_sector() function, make scsi_get_lba() return the actual LBA. > > Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > --- > include/scsi/scsi_cmnd.h | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h > index cba63377d46a..90da9617d28a 100644 > --- a/include/scsi/scsi_cmnd.h > +++ b/include/scsi/scsi_cmnd.h > @@ -225,6 +225,13 @@ static inline sector_t scsi_get_sector(struct scsi_cmnd *scmd) > return blk_rq_pos(scmd->request); > } > > +static inline sector_t scsi_get_lba(struct scsi_cmnd *scmd) > +{ > + unsigned int shift = ilog2(scmd->device->sector_size) - SECTOR_SHIFT; > + > + return blk_rq_pos(scmd->request) >> shift; Hmm again, should it use `blk_mq_rq_from_pdu()`? -- Best Regards, Benjamin Block / Linux on IBM Z Kernel Development / IBM Systems IBM Deutschland Research & Development GmbH / https://www.ibm.com/privacy Vorsitz. AufsR.: Gregor Pillen / Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen / Registergericht: AmtsG Stuttgart, HRB 243294