> On Feb 8, 2022, at 9:25 AM, Bart Van Assche <bvanassche@xxxxxxx> wrote: > > Set .cmd_size in the SCSI host template instead of using the SCSI pointer > from struct scsi_cmnd. This patch prepares for removal of the SCSI pointer > from struct scsi_cmnd. > > Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > --- > drivers/scsi/smartpqi/smartpqi_init.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c > index f0897d587454..74426974309f 100644 > --- a/drivers/scsi/smartpqi/smartpqi_init.c > +++ b/drivers/scsi/smartpqi/smartpqi_init.c > @@ -54,6 +54,15 @@ MODULE_DESCRIPTION("Driver for Microchip Smart Family Controller version " > MODULE_VERSION(DRIVER_VERSION); > MODULE_LICENSE("GPL"); > > +struct pqi_cmd_priv { > + int this_residual; > +}; > + > +static struct pqi_cmd_priv *pqi_cmd_priv(struct scsi_cmnd *cmd) > +{ > + return scsi_cmd_priv(cmd); > +} > + > static void pqi_take_ctrl_offline(struct pqi_ctrl_info *ctrl_info, > enum pqi_ctrl_shutdown_reason ctrl_shutdown_reason); > static void pqi_ctrl_offline_worker(struct work_struct *work); > @@ -5555,7 +5564,7 @@ static void pqi_aio_io_complete(struct pqi_io_request *io_request, > scsi_dma_unmap(scmd); > if (io_request->status == -EAGAIN || pqi_raid_bypass_retry_needed(io_request)) { > set_host_byte(scmd, DID_IMM_RETRY); > - scmd->SCp.this_residual++; > + pqi_cmd_priv(scmd)->this_residual++; > } > > pqi_free_io_request(io_request); > @@ -5779,7 +5788,7 @@ static inline bool pqi_is_bypass_eligible_request(struct scsi_cmnd *scmd) > if (blk_rq_is_passthrough(scsi_cmd_to_rq(scmd))) > return false; > > - return scmd->SCp.this_residual == 0; > + return pqi_cmd_priv(scmd)->this_residual == 0; > } > > /* > @@ -7159,6 +7168,7 @@ static struct scsi_host_template pqi_driver_template = { > .map_queues = pqi_map_queues, > .sdev_groups = pqi_sdev_groups, > .shost_groups = pqi_shost_groups, > + .cmd_size = sizeof(struct pqi_cmd_priv), > }; > > static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info) Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> -- Himanshu Madhani Oracle Linux Engineering