All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/35] Allow scsi_execute users to control retries
@ 2022-10-23  3:03 Mike Christie
  2022-10-23  3:03 ` [PATCH v5 01/35] scsi: Add helper to prep sense during error handling Mike Christie
                   ` (34 more replies)
  0 siblings, 35 replies; 38+ messages in thread
From: Mike Christie @ 2022-10-23  3:03 UTC (permalink / raw)
  To: bvanassche, mwilck, hch, martin.petersen, linux-scsi, james.bottomley

The following patches, made over Linus's tree but also apply over Martin's
6.2 branches, allow scsi_execute* users to control exactly which errors are
retried, so we can reduce the sense/sshd handling they have to do.

The patches allow scsi_execute* users to pass in an array of failures
which they want retried and also specify how many times they want them
retried. If we hit an error that the user did not specify then we drop
down to the default behavior. This allows us to remove almost all the
retry logic from scsi_execute* users. We currently cannot handle the cases
where the callers check some state/sleep between retries.

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] 38+ messages in thread

end of thread, other threads:[~2022-10-24 20:29 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-23  3:03 [PATCH v5 00/35] Allow scsi_execute users to control retries Mike Christie
2022-10-23  3:03 ` [PATCH v5 01/35] scsi: Add helper to prep sense during error handling Mike Christie
2022-10-23  3:03 ` [PATCH v5 02/35] scsi: Allow passthrough to override what errors to retry Mike Christie
2022-10-23  3:03 ` [PATCH v5 03/35] scsi: Add struct for args to execution functions Mike Christie
2022-10-23  3:03 ` [PATCH v5 04/35] scsi: Add scsi_failure field to scsi_exec_args Mike Christie
2022-10-23  3:03 ` [PATCH v5 05/35] scsi: libata: Convert to scsi_exec_req Mike Christie
2022-10-23  3:03 ` [PATCH v5 06/35] hwmon: drivetemp: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 07/35] scsi: ch: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 08/35] scsi: scsi_dh: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 09/35] scsi: core: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 10/35] scsi: spi: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 11/35] scsi: sd: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 12/35] scsi: zbc: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 13/35] scsi: ses: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 14/35] scsi: sr: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 15/35] scsi: virtio_scsi: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 16/35] scsi: target_core_pscsi: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 17/35] scsi: ufshcd: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 18/35] scsi: cxlflash: " Mike Christie
2022-10-23  3:03 ` [PATCH v5 19/35] scsi: Remove scsi_execute functions Mike Christie
2022-10-23  3:03 ` [PATCH v5 20/35] scsi: Have scsi-ml retry scsi_probe_lun errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 21/35] scsi: retry INQUIRY after timeout Mike Christie
2022-10-23  3:03 ` [PATCH v5 22/35] scsi: Have scsi-ml retry read_capacity_16 errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 23/35] scsi: Have scsi-ml retry sd_spinup_disk errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 24/35] scsi: hp_sw: Have scsi-ml retry scsi_exec_req errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 25/35] scsi: rdac: Have scsi-ml retry send_mode_select errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 26/35] scsi: spi: Have scsi-ml retry spi_execute errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 27/35] scsi: sd: Have scsi-ml retry sd_sync_cache errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 28/35] scsi: ch: Have scsi-ml retry ch_do_scsi errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 29/35] scsi: Have scsi-ml retry scsi_mode_sense errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 30/35] scsi: Have scsi-ml retry scsi_report_lun_scan errors Mike Christie
2022-10-23  3:03 ` [PATCH v5 31/35] scsi: sd: Have sd_pr_command retry UAs Mike Christie
2022-10-23  3:04 ` [PATCH v5 32/35] scsi: sd: Have scsi-ml retry read_capacity_10 errors Mike Christie
2022-10-23  3:04 ` [PATCH v5 33/35] scsi: ses: Have scsi-ml retry scsi_exec_req errors Mike Christie
2022-10-23  3:04 ` [PATCH v5 34/35] scsi: sr: Have scsi-ml retry get_sectorsize errors Mike Christie
2022-10-23  3:04 ` [PATCH v5 35/35] scsi: Add kunit tests for scsi_check_passthrough Mike Christie
2022-10-23  6:32   ` kernel test robot
2022-10-24 18:39     ` Mike Christie

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.