mbox series

[PATCHv5,00/18] scsi: EH rework prep patches, part 1

Message ID 20231002154328.43718-1-hare@suse.de (mailing list archive)
Headers show
Series scsi: EH rework prep patches, part 1 | expand

Message

Hannes Reinecke Oct. 2, 2023, 3:43 p.m. UTC
Hi all,

(taking up an old thread:)
here's the first batch of patches for my EH rework.
It modifies the reset callbacks for SCSI drivers
such that the final conversion to drop the 'struct scsi_cmnd'
argument and use the entity in question (host, bus, target, device)
as the argument to the SCSI EH callbacks becomes possible.
The first part covers drivers which just requires minor tweaks.

As usual, comments and reviews are welcome.

Changes to v4:
- Rebase to latest linus tree

Changes to v3:
- Move fnic and snic patches to the next patchset
- Include reviews from Ewan Milne

Changes to v2:
- Include reviews from John Garry
- move mpi3mr, zfcp, sym53c8xx_2, and qla1280 patches to the
  next patchset

Changes to the initial version:
- Include reviews from Christoph
- Fixup build robot issues

Hannes Reinecke (18):
  mptfc: simplify mptfc_block_error_handler()
  mptfusion: correct definitions for mptscsih_dev_reset()
  mptfc: open-code mptfc_block_error_handler() for bus reset
  qedf: use fc rport as argument for qedf_initiate_tmf()
  bnx2fc: Do not rely on a scsi command for lun or target reset
  aic7xxx: make BUILD_SCSIID() a function
  aic7xxx: do not reference scsi command when resetting device
  aic79xx: make BUILD_SCSIID() a function
  aic79xx: do not reference scsi command when resetting device
  ibmvfc: open-code reset loop for target reset
  megaraid: pass in NULL scb for host reset
  ips: Do not try to abort command from host reset
  sym53c8xx_2: split off bus reset from host reset
  sym53c8xx_2: rework reset handling
  qla1280: separate out host reset function from qla1280_error_action()
  pmcraid: Select device in pmcraid_eh_bus_reset_handler()
  pmcraid: select device in pmcraid_eh_target_reset_handler()
  mpi3mr: split off bus_reset function from host_reset

 drivers/message/fusion/mptfc.c      |  94 +++++++++-----
 drivers/message/fusion/mptscsih.c   |  55 +++++++-
 drivers/message/fusion/mptscsih.h   |   1 +
 drivers/scsi/aic7xxx/aic79xx_osm.c  |  32 +++--
 drivers/scsi/aic7xxx/aic7xxx_osm.c  | 127 ++++++++++---------
 drivers/scsi/bnx2fc/bnx2fc.h        |   1 +
 drivers/scsi/bnx2fc/bnx2fc_hwi.c    |  14 ++-
 drivers/scsi/bnx2fc/bnx2fc_io.c     |  94 +++++++-------
 drivers/scsi/ibmvscsi/ibmvfc.c      |  42 ++++---
 drivers/scsi/ips.c                  |  18 ---
 drivers/scsi/megaraid.c             |  42 +++----
 drivers/scsi/mpi3mr/mpi3mr_os.c     |  57 ++++++---
 drivers/scsi/pmcraid.c              |  60 +++++++--
 drivers/scsi/qedf/qedf.h            |   5 +-
 drivers/scsi/qedf/qedf_io.c         |  75 +++--------
 drivers/scsi/qedf/qedf_main.c       |  19 +--
 drivers/scsi/qla1280.c              |  42 ++++---
 drivers/scsi/sym53c8xx_2/sym_glue.c | 189 ++++++++++++++++++----------
 18 files changed, 572 insertions(+), 395 deletions(-)

Comments

Martin K. Petersen Oct. 13, 2023, 6:26 p.m. UTC | #1
Hannes,

> (taking up an old thread:) here's the first batch of patches for my EH
> rework. It modifies the reset callbacks for SCSI drivers such that the
> final conversion to drop the 'struct scsi_cmnd' argument and use the
> entity in question (host, bus, target, device) as the argument to the
> SCSI EH callbacks becomes possible. The first part covers drivers
> which just requires minor tweaks.

Applied to 6.7/scsi-staging, thanks!
Martin K. Petersen Oct. 17, 2023, 1:11 a.m. UTC | #2
On Mon, 02 Oct 2023 17:43:10 +0200, Hannes Reinecke wrote:

> (taking up an old thread:)
> here's the first batch of patches for my EH rework.
> It modifies the reset callbacks for SCSI drivers
> such that the final conversion to drop the 'struct scsi_cmnd'
> argument and use the entity in question (host, bus, target, device)
> as the argument to the SCSI EH callbacks becomes possible.
> The first part covers drivers which just requires minor tweaks.
> 
> [...]

Applied to 6.7/scsi-queue, thanks!

[01/18] mptfc: simplify mptfc_block_error_handler()
        https://git.kernel.org/mkp/scsi/c/d9987d4b9671
[02/18] mptfusion: correct definitions for mptscsih_dev_reset()
        https://git.kernel.org/mkp/scsi/c/e6629081fb12
[03/18] mptfc: open-code mptfc_block_error_handler() for bus reset
        https://git.kernel.org/mkp/scsi/c/17865dc2eccc
[04/18] qedf: use fc rport as argument for qedf_initiate_tmf()
        https://git.kernel.org/mkp/scsi/c/ade4fb94578a
[05/18] bnx2fc: Do not rely on a scsi command for lun or target reset
        https://git.kernel.org/mkp/scsi/c/6a137a967bc7
[06/18] aic7xxx: make BUILD_SCSIID() a function
        https://git.kernel.org/mkp/scsi/c/958230bcdda2
[07/18] aic7xxx: do not reference scsi command when resetting device
        https://git.kernel.org/mkp/scsi/c/10f5aa018f94
[08/18] aic79xx: make BUILD_SCSIID() a function
        https://git.kernel.org/mkp/scsi/c/9cc9ef28199d
[09/18] aic79xx: do not reference scsi command when resetting device
        https://git.kernel.org/mkp/scsi/c/c67e63800446
[10/18] ibmvfc: open-code reset loop for target reset
        https://git.kernel.org/mkp/scsi/c/397ff21a962d
[11/18] megaraid: pass in NULL scb for host reset
        https://git.kernel.org/mkp/scsi/c/5bcd3bfbda02
[12/18] ips: Do not try to abort command from host reset
        https://git.kernel.org/mkp/scsi/c/c8102e421e7a
[13/18] sym53c8xx_2: split off bus reset from host reset
        https://git.kernel.org/mkp/scsi/c/4980ae18c37b
[14/18] sym53c8xx_2: rework reset handling
        https://git.kernel.org/mkp/scsi/c/c7c559d2b39a
[15/18] qla1280: separate out host reset function from qla1280_error_action()
        https://git.kernel.org/mkp/scsi/c/bffebc1993a0
[16/18] pmcraid: Select device in pmcraid_eh_bus_reset_handler()
        https://git.kernel.org/mkp/scsi/c/09df4697223a
[17/18] pmcraid: select device in pmcraid_eh_target_reset_handler()
        https://git.kernel.org/mkp/scsi/c/c2a14ab3b9b3
[18/18] mpi3mr: split off bus_reset function from host_reset
        https://git.kernel.org/mkp/scsi/c/82b2fb52d6ec