All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] scsi: EH rework prep patches, part 2
@ 2022-05-02 21:54 Hannes Reinecke
  2022-05-02 21:54 ` [PATCH 01/11] pmcraid: Select device in pmcraid_eh_bus_reset_handler() Hannes Reinecke
                   ` (10 more replies)
  0 siblings, 11 replies; 27+ messages in thread
From: Hannes Reinecke @ 2022-05-02 21:54 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: Christoph Hellwig, James Bottomley, linux-scsi, Hannes Reinecke

Hi all,

here's the second batch of patches for my EH rework.
It modifies the host reset callback for SCSI drivers
such that the final conversion to have 'struct scsi_target'
resp 'struct scsi_device' as argument for the EH callbacks
becomes possible.

As usual, comments and reviews are welcome.

Hannes Reinecke (11):
  pmcraid: Select device in pmcraid_eh_bus_reset_handler()
  sym53c8xx_2: rework reset handling
  libiscsi: use cls_session as argument for target and session reset
  scsi_transport_iscsi: use session as argument for
    iscsi_block_scsi_eh()
  pmcraid: select first available device for target reset
  bfa: Do not use scsi command to signal TMF status
  aha152x: look for stuck command when resetting device
  a1000u2w: do not rely on the command for inia100_device_reset()
  xen-scsifront: add scsi device as argument to scsifront_do_request()
  fas216: Rework device reset to not rely on SCSI command pointer
  csiostor: use separate TMF command

 drivers/scsi/a100u2w.c              |  43 +++--------
 drivers/scsi/aha152x.c              |  26 ++++---
 drivers/scsi/arm/fas216.c           |  39 +++++-----
 drivers/scsi/be2iscsi/be_main.c     |  10 ++-
 drivers/scsi/bfa/bfad_im.c          | 112 +++++++++++++++-------------
 drivers/scsi/bfa/bfad_im.h          |   2 +
 drivers/scsi/csiostor/csio_hw.h     |   2 +
 drivers/scsi/csiostor/csio_init.c   |   2 +-
 drivers/scsi/csiostor/csio_scsi.c   |  48 +++++++-----
 drivers/scsi/libiscsi.c             |  21 +++---
 drivers/scsi/pmcraid.c              |  60 ++++++++++++---
 drivers/scsi/qla4xxx/ql4_os.c       |  34 +++++----
 drivers/scsi/scsi_transport_iscsi.c |   6 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c |  82 +++++++++++++-------
 drivers/scsi/xen-scsifront.c        |  31 +++++---
 include/scsi/libiscsi.h             |   2 +-
 include/scsi/scsi_transport_iscsi.h |   2 +-
 17 files changed, 310 insertions(+), 212 deletions(-)

-- 
2.29.2


^ permalink raw reply	[flat|nested] 27+ messages in thread
* [PATCH 0/7] scsi: EH rework main part
@ 2022-05-02 21:59 Hannes Reinecke
  2022-05-02 21:59 ` [PATCH 05/11] pmcraid: select first available device for target reset Hannes Reinecke
  0 siblings, 1 reply; 27+ messages in thread
From: Hannes Reinecke @ 2022-05-02 21:59 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: Christoph Hellwig, James Bottomley, linux-scsi, Hannes Reinecke

Hi all,

now that the prep is done we can convert the call sequence
of the SCSI EH callbacks to use the respective object
(ie struct Scsi_Host or struct scsi_device) and the Scsi command.
With that we don't have to allocate a 'fake' command for
ioctl reset anymore.

As usual, comments and reviews are welcome.

Hannes Reinecke (7):
  scsi: Use Scsi_Host as argument for eh_host_reset_handler
  scsi: Use Scsi_Host and channel number as argument for
    eh_bus_reset_handler()
  scsi: Use scsi_target as argument for eh_target_reset_handler()
  scsi: Use scsi_device as argument to eh_device_reset_handler()
  scsi: Do not allocate scsi command in scsi_ioctl_reset()
  scsi: remove SUBMITTED_BY_SCSI_RESET_IOCTL
  scsi_error: streamline scsi_eh_bus_device_reset()

 Documentation/scsi/scsi_eh.rst                |  16 +-
 Documentation/scsi/scsi_mid_low_api.rst       |  31 +++-
 drivers/infiniband/ulp/srp/ib_srp.c           |  12 +-
 drivers/message/fusion/mptfc.c                |  25 ++-
 drivers/message/fusion/mptsas.c               |  10 +-
 drivers/message/fusion/mptscsih.c             |  86 ++++-----
 drivers/message/fusion/mptscsih.h             |   8 +-
 drivers/message/fusion/mptspi.c               |   8 +-
 drivers/s390/scsi/zfcp_scsi.c                 |  14 +-
 drivers/scsi/3w-9xxx.c                        |  11 +-
 drivers/scsi/3w-sas.c                         |  11 +-
 drivers/scsi/3w-xxxx.c                        |  11 +-
 drivers/scsi/53c700.c                         |  39 ++--
 drivers/scsi/BusLogic.c                       |  14 +-
 drivers/scsi/NCR5380.c                        |   3 +-
 drivers/scsi/a100u2w.c                        |  11 +-
 drivers/scsi/aacraid/linit.c                  |  35 ++--
 drivers/scsi/advansys.c                       |  26 +--
 drivers/scsi/aha152x.c                        |  10 +-
 drivers/scsi/aha1542.c                        |  30 +--
 drivers/scsi/aic7xxx/aic79xx_osm.c            |  37 ++--
 drivers/scsi/aic7xxx/aic7xxx_osm.c            |  10 +-
 drivers/scsi/arcmsr/arcmsr_hba.c              |   6 +-
 drivers/scsi/arm/acornscsi.c                  |   8 +-
 drivers/scsi/arm/fas216.c                     |  18 +-
 drivers/scsi/arm/fas216.h                     |  17 +-
 drivers/scsi/atari_scsi.c                     |   4 +-
 drivers/scsi/be2iscsi/be_main.c               |  12 +-
 drivers/scsi/bfa/bfad_im.c                    |   8 +-
 drivers/scsi/bnx2fc/bnx2fc.h                  |   4 +-
 drivers/scsi/bnx2fc/bnx2fc_io.c               |  10 +-
 drivers/scsi/csiostor/csio_scsi.c             |   3 +-
 drivers/scsi/cxlflash/main.c                  |  10 +-
 drivers/scsi/dc395x.c                         |  25 ++-
 drivers/scsi/dpt_i2o.c                        |  43 +++--
 drivers/scsi/dpti.h                           |   6 +-
 drivers/scsi/esas2r/esas2r.h                  |   8 +-
 drivers/scsi/esas2r/esas2r_main.c             |  55 +++---
 drivers/scsi/esp_scsi.c                       |   8 +-
 drivers/scsi/fdomain.c                        |   3 +-
 drivers/scsi/fnic/fnic.h                      |   4 +-
 drivers/scsi/fnic/fnic_scsi.c                 |   9 +-
 drivers/scsi/hpsa.c                           |  14 +-
 drivers/scsi/hptiop.c                         |   6 +-
 drivers/scsi/ibmvscsi/ibmvfc.c                |  12 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c              |  23 +--
 drivers/scsi/imm.c                            |   4 +-
 drivers/scsi/initio.c                         |  11 +-
 drivers/scsi/ipr.c                            |  35 ++--
 drivers/scsi/ips.c                            |  22 +--
 drivers/scsi/libfc/fc_fcp.c                   |  16 +-
 drivers/scsi/libiscsi.c                       |  19 +-
 drivers/scsi/libsas/sas_scsi_host.c           |  21 ++-
 drivers/scsi/lpfc/lpfc_scsi.c                 |  23 ++-
 drivers/scsi/mac53c94.c                       |   8 +-
 drivers/scsi/megaraid.c                       |   4 +-
 drivers/scsi/megaraid.h                       |   2 +-
 drivers/scsi/megaraid/megaraid_mbox.c         |  14 +-
 drivers/scsi/megaraid/megaraid_sas.h          |   3 +-
 drivers/scsi/megaraid/megaraid_sas_base.c     |  44 ++---
 drivers/scsi/megaraid/megaraid_sas_fusion.c   |  56 +++---
 drivers/scsi/mesh.c                           |  10 +-
 drivers/scsi/mpi3mr/mpi3mr_os.c               | 123 ++++++------
 drivers/scsi/mpt3sas/mpt3sas_scsih.c          |  72 +++----
 drivers/scsi/mvumi.c                          |   7 +-
 drivers/scsi/myrb.c                           |   3 +-
 drivers/scsi/myrs.c                           |   3 +-
 drivers/scsi/ncr53c8xx.c                      |   4 +-
 drivers/scsi/nsp32.c                          |  12 +-
 drivers/scsi/pcmcia/nsp_cs.c                  |  10 +-
 drivers/scsi/pcmcia/nsp_cs.h                  |   6 +-
 drivers/scsi/pcmcia/qlogic_stub.c             |   4 +-
 drivers/scsi/pcmcia/sym53c500_cs.c            |   8 +-
 drivers/scsi/pmcraid.c                        |  27 ++-
 drivers/scsi/ppa.c                            |   4 +-
 drivers/scsi/qedf/qedf_main.c                 |  13 +-
 drivers/scsi/qedi/qedi_iscsi.c                |   3 +-
 drivers/scsi/qla1280.c                        |  36 ++--
 drivers/scsi/qla2xxx/qla_os.c                 |  83 ++++-----
 drivers/scsi/qla4xxx/ql4_os.c                 |  54 +++---
 drivers/scsi/qlogicfas408.c                   |  10 +-
 drivers/scsi/qlogicfas408.h                   |   2 +-
 drivers/scsi/qlogicpti.c                      |   3 +-
 drivers/scsi/scsi_debug.c                     |  78 +++-----
 drivers/scsi/scsi_error.c                     | 175 +++++++++---------
 drivers/scsi/scsi_lib.c                       |   2 -
 drivers/scsi/smartpqi/smartpqi_init.c         |  11 +-
 drivers/scsi/snic/snic.h                      |   5 +-
 drivers/scsi/snic/snic_scsi.c                 |  41 +---
 drivers/scsi/stex.c                           |   7 +-
 drivers/scsi/storvsc_drv.c                    |   4 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c           |  13 +-
 drivers/scsi/ufs/ufshcd.c                     |  14 +-
 drivers/scsi/virtio_scsi.c                    |  12 +-
 drivers/scsi/vmw_pvscsi.c                     |  20 +-
 drivers/scsi/wd33c93.c                        |   5 +-
 drivers/scsi/wd33c93.h                        |   2 +-
 drivers/scsi/wd719x.c                         |  17 +-
 drivers/scsi/xen-scsifront.c                  |  23 ++-
 drivers/staging/rts5208/rtsx.c                |   6 +-
 .../staging/unisys/visorhba/visorhba_main.c   |  24 +--
 drivers/target/loopback/tcm_loop.c            |  17 +-
 drivers/usb/image/microtek.c                  |   4 +-
 drivers/usb/storage/scsiglue.c                |   8 +-
 drivers/usb/storage/uas.c                     |   3 +-
 include/scsi/libfc.h                          |   4 +-
 include/scsi/libiscsi.h                       |   4 +-
 include/scsi/libsas.h                         |   4 +-
 include/scsi/scsi_cmnd.h                      |   1 -
 include/scsi/scsi_host.h                      |   8 +-
 110 files changed, 989 insertions(+), 1076 deletions(-)

-- 
2.29.2


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2022-05-03 18:36 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-02 21:54 [PATCH 00/11] scsi: EH rework prep patches, part 2 Hannes Reinecke
2022-05-02 21:54 ` [PATCH 01/11] pmcraid: Select device in pmcraid_eh_bus_reset_handler() Hannes Reinecke
2022-05-03 14:25   ` Christoph Hellwig
2022-05-03 16:23   ` Bart Van Assche
2022-05-03 18:33     ` Hannes Reinecke
2022-05-02 21:54 ` [PATCH 02/11] sym53c8xx_2: rework reset handling Hannes Reinecke
2022-05-03 14:25   ` Christoph Hellwig
2022-05-02 21:54 ` [PATCH 03/11] libiscsi: use cls_session as argument for target and session reset Hannes Reinecke
2022-05-03 14:25   ` Christoph Hellwig
2022-05-02 21:54 ` [PATCH 04/11] scsi_transport_iscsi: use session as argument for iscsi_block_scsi_eh() Hannes Reinecke
2022-05-03 14:26   ` Christoph Hellwig
2022-05-02 21:54 ` [PATCH 05/11] pmcraid: select first available device for target reset Hannes Reinecke
2022-05-03 14:26   ` Christoph Hellwig
2022-05-03 16:24   ` Bart Van Assche
2022-05-03 18:36     ` Hannes Reinecke
2022-05-02 21:54 ` [PATCH 06/11] bfa: Do not use scsi command to signal TMF status Hannes Reinecke
2022-05-03 14:27   ` Christoph Hellwig
2022-05-03 14:32     ` Hannes Reinecke
2022-05-02 21:54 ` [PATCH 07/11] aha152x: look for stuck command when resetting device Hannes Reinecke
2022-05-02 21:54 ` [PATCH 08/11] a1000u2w: do not rely on the command for inia100_device_reset() Hannes Reinecke
2022-05-02 21:54 ` [PATCH 09/11] xen-scsifront: add scsi device as argument to scsifront_do_request() Hannes Reinecke
2022-05-03 14:29   ` Christoph Hellwig
2022-05-02 21:54 ` [PATCH 10/11] fas216: Rework device reset to not rely on SCSI command pointer Hannes Reinecke
2022-05-03 14:33   ` Christoph Hellwig
2022-05-02 21:54 ` [PATCH 11/11] csiostor: use separate TMF command Hannes Reinecke
2022-05-03 14:33   ` Christoph Hellwig
2022-05-02 21:59 [PATCH 0/7] scsi: EH rework main part Hannes Reinecke
2022-05-02 21:59 ` [PATCH 05/11] pmcraid: select first available device for target reset Hannes Reinecke

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.