All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v13 00/19] scsi: Allow scsi_execute users to request retries
@ 2024-01-23  0:22 Mike Christie
  2024-01-23  0:22 ` [PATCH v13 01/19] scsi: Allow passthrough to request scsi-ml retries Mike Christie
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: Mike Christie @ 2024-01-23  0:22 UTC (permalink / raw)
  To: john.g.garry, bvanassche, mwilck, hch, martin.petersen,
	linux-scsi, james.bottomley

The following patches were made over Linus's tree which contains
a fix for sd which was not in Martin's branches.

The patches allow scsi_execute_cmd users to have scsi-ml retry the
cmd for it instead of the caller having to parse the error and loop
itself.


 drivers/scsi/Kconfig                        |   9 +
 drivers/scsi/ch.c                           |  27 ++-
 drivers/scsi/device_handler/scsi_dh_hp_sw.c |  49 +++--
 drivers/scsi/device_handler/scsi_dh_rdac.c  |  84 +++----
 drivers/scsi/scsi_lib.c                     |  26 ++-
 drivers/scsi/scsi_lib_test.c                | 330 ++++++++++++++++++++++++++++
 drivers/scsi/scsi_scan.c                    | 107 +++++----
 drivers/scsi/scsi_transport_spi.c           |  35 +--
 drivers/scsi/sd.c                           | 326 +++++++++++++++++----------
 drivers/scsi/ses.c                          |  66 ++++--
 drivers/scsi/sr.c                           |  38 ++--
 drivers/ufs/core/ufshcd.c                   |  22 +-
 12 files changed, 822 insertions(+), 297 deletions(-)

v13:
- Rename scsi_execute_cmd's retries variable and update those comments
and the scsi_failure struct to try and make it clear how the retries
values differ.
- Fix up some misspelled and add missing words in patch descriptions
- Fix up patch 6's description.

v12:
- Fix bug where a user could request no retries and skip going
through the scsi-eh.
- Drop support for allowing caller to have scsi-ml not retry
failures (we only allow caller to request retries).
- Fix formatting.
- Add support to control total number of retries.
- Fix kunit tests to add a missing test and comments.
- Fix missing SCMD_FAILURE_ASCQ_ANY in sd_spinup_disk.

v11:
- Document scsi_failure.result special values
- Fix sshdr fix git commit message where there was a missing word
- Use designated initializers for cdb setup
- Fix up various coding style comments from John like redoing if/else
error/success checks.
- Add patch to fix rdac issue where stale SCSH_DH values were returned
- Remove old comment from:
"[PATCH v10 16/33] scsi: spi: Have scsi-ml retry spi_execute errors"
- Drop EOPNOTSUPP use from:
"[PATCH v10 17/33] scsi: sd: Fix sshdr use in sd_suspend_common"
- Init errno to 0 when declared in:
"[PATCH v10 20/33] scsi: ch: Have scsi-ml retry ch_do_scsi errors"
- Add diffstat below

v10:
- Drop "," after {}.
- Hopefully fix outlook issues.

v9:
- Drop spi_execute changes from [PATCH] scsi: spi: Fix sshdr use
- Change git commit message for sshdr use fixes.

v8:
- Rebase.
- Saw the discussion about the possible bug where callers are
accessing the sshdr when it's not setup, so I added some patches
for that since I was going over the same code.

v7:
- Rebase against scsi_execute_cmd patchset.

v6:
- Fix kunit build when it's built as a module but scsi is not.
- Drop [PATCH 17/35] scsi: ufshcd: Convert to scsi_exec_req because
  that driver no longer uses scsi_execute.
- Convert ufshcd to use the scsi_failures struct because it now just does
  direct retries and does not do it's own deadline timing.
- Add back memset in read_capacity_16.
- Remove memset in get_sectorsize and replace with { } to init buf.

v5:
- Fix spelling (made sure I ran checkpatch strict)
- Drop SCMD_FAILURE_NONE
- Rename SCMD_FAILURE_ANY
- Fix media_not_present handling where it was being retried instead of
failed.
- Fix ILLEGAL_REQUEST handling in read_capacity_16 so it was not retried.
- Fix coding style, spelling and and naming convention in kunit and added
  more tests to handle cases like the media_not_present one where we want
  to force failures instead of retries.
- Drop cxlflash patch because it actually checked it's internal state before
  performing a retry which we currently do not support.

v4:
- Redefine cmd definitions if the cmd is touched.
- Fix up coding style issues.
- Use sam_status enum.
- Move failures initialization to scsi_initialize_rq
(also fixes KASAN error).
- Add kunit test.
- Add function comments.

v3:
- Use a for loop in scsi_check_passthrough
- Fix result handling/testing.
- Fix scsi_status_is_good handling.
- make __scsi_exec_req take a const arg
- Fix formatting in patch 24

v2:
- Rename scsi_prep_sense
- Change scsi_check_passthrough's loop and added some fixes
- Modified scsi_execute* so it uses a struct to pass in args



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

end of thread, other threads:[~2024-02-06  2:08 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-23  0:22 [PATCH v13 00/19] scsi: Allow scsi_execute users to request retries Mike Christie
2024-01-23  0:22 ` [PATCH v13 01/19] scsi: Allow passthrough to request scsi-ml retries Mike Christie
2024-01-23  0:22 ` [PATCH v13 02/19] scsi: Have scsi-ml retry scsi_probe_lun errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 03/19] scsi: retry INQUIRY after timeout Mike Christie
2024-01-23  0:22 ` [PATCH v13 04/19] scsi: Use separate buf for START_STOP in sd_spinup_disk Mike Christie
2024-01-23  0:22 ` [PATCH v13 05/19] scsi: Have scsi-ml retry sd_spinup_disk errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 06/19] scsi: hp_sw: Have scsi-ml retry scsi_execute_cmd errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 07/19] scsi: rdac: Have scsi-ml retry send_mode_select errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 08/19] scsi: spi: Have scsi-ml retry spi_execute UAs Mike Christie
2024-01-23  0:22 ` [PATCH v13 09/19] scsi: sd: Have scsi-ml retry sd_sync_cache errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 10/19] scsi: ch: Remove unit_attention Mike Christie
2024-01-23  0:22 ` [PATCH v13 11/19] scsi: ch: Have scsi-ml retry ch_do_scsi UAs Mike Christie
2024-01-23  0:22 ` [PATCH v13 12/19] scsi: Have scsi-ml retry scsi_mode_sense UAs Mike Christie
2024-01-23  0:22 ` [PATCH v13 13/19] scsi: Have scsi-ml retry scsi_report_lun_scan errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 14/19] scsi: sd: Have pr commands retry UAs Mike Christie
2024-01-23  0:22 ` [PATCH v13 15/19] scsi: sd: Have scsi-ml retry read_capacity_10 errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 16/19] scsi: ses: Have scsi-ml retry scsi_execute_cmd errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 17/19] scsi: sr: Have scsi-ml retry get_sectorsize errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 18/19] scsi: ufs: Have scsi-ml retry start stop errors Mike Christie
2024-01-23  0:22 ` [PATCH v13 19/19] scsi: Add kunit tests for scsi_check_passthrough Mike Christie
2024-01-23  7:49 ` [PATCH v13 00/19] scsi: Allow scsi_execute users to request retries Christoph Hellwig
2024-01-30  2:25 ` Martin K. Petersen
2024-02-06  2:07 ` Martin K. Petersen

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.