All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: James Bottomley <james.bottomley@hansenpartnership.com>,
	linux-scsi@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
	Hannes Reinecke <hare@suse.de>
Subject: [PATCHv5 0/7] scsi: EH rework, main part
Date: Mon,  2 Oct 2023 17:59:08 +0200	[thread overview]
Message-ID: <20231002155915.109359-1-hare@suse.de> (raw)

Hi all,

(taking up an old thread:)
here's now the main part of my EH rework.
It modifies the reset callbacks for SCSI EH such that
each callback (eh_host_reset_handler, eh_bus_reset_handler,
eh_target_reset_handler, eh_device_reset_handler) only
references the actual entity it needs to work on
(ie 'Scsi_Host', (scsi bus), 'scsi_target', 'scsi_device'),
and the 'struct scsi_cmnd' is dropped from the argument list.
This simplifies the handler themselves as they don't need to
exclude some 'magic' command, and we don't need to allocate
a mock 'struct scsi_cmnd' when issuing a reset via SCSI ioctl.

The entire patchset can be found at:

https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
branch eh-rework.v5

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             |  12 +-
 drivers/message/fusion/mptscsih.c           |  86 +++++------
 drivers/message/fusion/mptscsih.h           |   8 +-
 drivers/message/fusion/mptspi.c             |  10 +-
 drivers/s390/scsi/zfcp_scsi.c               |  16 +-
 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           |   5 +-
 drivers/scsi/cxlflash/main.c                |  10 +-
 drivers/scsi/dc395x.c                       |  25 ++--
 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               |   8 +-
 drivers/scsi/hpsa.c                         |  14 +-
 drivers/scsi/hptiop.c                       |   6 +-
 drivers/scsi/ibmvscsi/ibmvfc.c              |  15 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c            |  23 +--
 drivers/scsi/imm.c                          |   4 +-
 drivers/scsi/initio.c                       |  11 +-
 drivers/scsi/ipr.c                          |  26 ++--
 drivers/scsi/ips.c                          |  22 +--
 drivers/scsi/libfc/fc_fcp.c                 |  18 +--
 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 |  54 ++++---
 drivers/scsi/mesh.c                         |  10 +-
 drivers/scsi/mpi3mr/mpi3mr_os.c             | 135 ++++++++---------
 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                   |  33 ++---
 drivers/scsi/scsi_error.c                   | 153 ++++++++++----------
 drivers/scsi/scsi_lib.c                     |   2 -
 drivers/scsi/smartpqi/smartpqi.h            |   1 -
 drivers/scsi/smartpqi/smartpqi_init.c       |  19 +--
 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/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                |   6 +-
 drivers/staging/rts5208/rtsx.c              |   6 +-
 drivers/target/loopback/tcm_loop.c          |  17 ++-
 drivers/ufs/core/ufshcd.c                   |  14 +-
 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 +-
 108 files changed, 921 insertions(+), 1009 deletions(-)

-- 
2.35.3


             reply	other threads:[~2023-10-02 15:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-02 15:59 Hannes Reinecke [this message]
2023-10-02 15:59 ` [PATCH 1/7] scsi: Use Scsi_Host as argument for eh_host_reset_handler Hannes Reinecke
2023-10-03 17:33   ` Bart Van Assche
2023-10-04  6:32     ` Hannes Reinecke
2023-10-09 14:05     ` Hannes Reinecke
2023-10-09 15:23       ` Bart Van Assche
2023-10-05 11:14   ` John Garry
2023-10-02 15:59 ` [PATCH 2/7] scsi: Use Scsi_Host and channel number as argument for eh_bus_reset_handler() Hannes Reinecke
2023-10-05 11:54   ` John Garry
2023-10-02 15:59 ` [PATCH 3/7] scsi: Use scsi_target as argument for eh_target_reset_handler() Hannes Reinecke
2023-10-05 12:33   ` John Garry
2023-10-02 15:59 ` [PATCH 4/7] scsi: Use scsi_device as argument to eh_device_reset_handler() Hannes Reinecke
2023-10-05 12:59   ` John Garry
2023-10-10 12:12   ` Wenchao Hao
2023-10-10 12:16     ` Hannes Reinecke
2023-10-02 15:59 ` [PATCH 5/7] scsi: Do not allocate scsi command in scsi_ioctl_reset() Hannes Reinecke
2023-10-03 17:39   ` Bart Van Assche
2023-10-02 15:59 ` [PATCH 6/7] scsi: remove SUBMITTED_BY_SCSI_RESET_IOCTL Hannes Reinecke
2023-10-03 17:34   ` Bart Van Assche
2023-10-02 15:59 ` [PATCH 7/7] scsi_error: streamline scsi_eh_bus_device_reset() Hannes Reinecke
2023-10-03 17:45   ` Bart Van Assche
2023-10-04  6:50     ` Hannes Reinecke
2023-10-12  7:48   ` Wenchao Hao
2023-10-12  7:54     ` Wenchao Hao
2023-10-04  6:20 ` [PATCHv5 0/7] scsi: EH rework, main part Johannes Thumshirn
2023-10-11 16:35 ` Wenchao Hao
2023-10-12  6:19   ` Hannes Reinecke
2023-10-12  7:30     ` Wenchao Hao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231002155915.109359-1-hare@suse.de \
    --to=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.bottomley@hansenpartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.