Hi Martin,
This patch series implements the following two changes for all SCSI drivers:
- Use blk_mq_rq_from_pdu() instead of the request member of struct scsi_cmnd
since adding an offset to a pointer is faster than pointer indirection.
- Remove the request pointer from struct scsi_cmnd.
Please consider this patch series for kernel v5.14.
Thanks,
Bart.
Changes compared to v2:
- Added a patch for the aha1542 driver since a recent change introduced a
scsi_cmnd.request dereference in that driver.
- In patch 2, renamed a local variable in a macro from 'rq' into '__rq'.
- Added several more Acked-by tags.
Changes compared to v1:
- Renamed blk_req() into scsi_cmd_to_rq().
- Added several Acked-by tags.
Bart Van Assche (51):
core: Introduce the scsi_cmd_to_rq() function
core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
sd: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
sr: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
scsi_transport_fc: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
scsi_transport_spi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
ata: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
RDMA/iser: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
RDMA/srp: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
zfcp: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
53c700: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
NCR5380: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
aacraid: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
advansys: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
aha1542: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
bnx2i: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
csiostor: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
cxlflash: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
dpt_i2o: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
fnic: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
hisi_sas: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
hpsa: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
ibmvfc: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
ibmvscsi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
ips: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
libsas: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
lpfc: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
megaraid: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
mpt3sas: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
mvumi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
myrb: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
myrs: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
ncr53c8xx: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
qedf: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
qedi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
qla1280: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
qla2xxx: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
qla4xxx: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
qlogicpti: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
scsi_debug: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
smartpqi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
snic: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
stex: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
sun3_scsi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
sym53c8xx: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
ufs: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
virtio_scsi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
xen-scsifront: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
tcm_loop: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
usb-storage: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
core: Remove the request member from struct scsi_cmnd
drivers/ata/libata-eh.c | 5 +-
drivers/ata/libata-scsi.c | 10 ++--
drivers/ata/pata_falcon.c | 4 +-
drivers/infiniband/ulp/iser/iser_memory.c | 2 +-
drivers/infiniband/ulp/srp/ib_srp.c | 6 +-
drivers/s390/scsi/zfcp_fsf.c | 2 +-
drivers/scsi/53c700.c | 2 +-
drivers/scsi/NCR5380.c | 6 +-
drivers/scsi/aacraid/aachba.c | 2 +-
drivers/scsi/aacraid/commsup.c | 2 +-
drivers/scsi/advansys.c | 4 +-
drivers/scsi/aha1542.c | 6 +-
drivers/scsi/bnx2i/bnx2i_hwi.c | 2 +-
drivers/scsi/csiostor/csio_scsi.c | 6 +-
drivers/scsi/cxlflash/main.c | 2 +-
drivers/scsi/dpt_i2o.c | 4 +-
drivers/scsi/fnic/fnic_scsi.c | 49 ++++++++--------
drivers/scsi/hisi_sas/hisi_sas_main.c | 4 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +-
drivers/scsi/hpsa.c | 6 +-
drivers/scsi/ibmvscsi/ibmvfc.c | 2 +-
drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +-
drivers/scsi/ips.c | 2 +-
drivers/scsi/libsas/sas_ata.c | 2 +-
drivers/scsi/libsas/sas_scsi_host.c | 2 +-
drivers/scsi/lpfc/lpfc_scsi.c | 63 ++++++++++-----------
drivers/scsi/megaraid/megaraid_sas_base.c | 4 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 ++--
drivers/scsi/mpt3sas/mpt3sas_base.c | 4 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 6 +-
drivers/scsi/mvumi.c | 2 +-
drivers/scsi/myrb.c | 11 ++--
drivers/scsi/myrs.c | 11 ++--
drivers/scsi/ncr53c8xx.c | 4 +-
drivers/scsi/qedf/qedf_io.c | 8 +--
drivers/scsi/qedi/qedi_fw.c | 9 +--
drivers/scsi/qla1280.c | 6 +-
drivers/scsi/qla2xxx/qla_os.c | 4 +-
drivers/scsi/qla4xxx/ql4_iocb.c | 2 +-
drivers/scsi/qla4xxx/ql4_os.c | 4 +-
drivers/scsi/qlogicpti.c | 2 +-
drivers/scsi/scsi.c | 2 +-
drivers/scsi/scsi_debug.c | 13 +++--
drivers/scsi/scsi_error.c | 15 +++--
drivers/scsi/scsi_lib.c | 29 +++++-----
drivers/scsi/scsi_logging.c | 18 +++---
drivers/scsi/scsi_transport_fc.c | 2 +-
drivers/scsi/scsi_transport_spi.c | 2 +-
drivers/scsi/sd.c | 33 +++++------
drivers/scsi/sd_zbc.c | 10 ++--
drivers/scsi/smartpqi/smartpqi_init.c | 4 +-
drivers/scsi/snic/snic_scsi.c | 10 ++--
drivers/scsi/sr.c | 13 ++---
drivers/scsi/stex.c | 6 +-
drivers/scsi/sun3_scsi.c | 2 +-
drivers/scsi/sym53c8xx_2/sym_glue.c | 4 +-
drivers/scsi/ufs/ufshcd.c | 28 ++++-----
drivers/scsi/virtio_scsi.c | 4 +-
drivers/scsi/xen-scsifront.c | 2 +-
drivers/target/loopback/tcm_loop.c | 4 +-
drivers/usb/storage/transport.c | 2 +-
include/scsi/scsi_cmnd.h | 15 +++--
include/scsi/scsi_device.h | 16 +++---
63 files changed, 259 insertions(+), 261 deletions(-)