Message ID | 20231023092837.33786-1-hare@suse.de |
---|---|
Headers | show |
Series | scsi: EH rework, main part | expand |
On 10/24/23 19:30, Benjamin Block wrote: > Hey Hannes, > > On Mon, Oct 23, 2023 at 11:28:27AM +0200, Hannes Reinecke wrote: >> 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.v8 > > This doesn't exist (yet?). I also tried to somehow get both part 2 of the > preparations and this series applied on some tree, but failed. > Preparations part 2 seems to be based on some form of Linus' master tree, and > this on Martin's staging tree? > Maybe I'm just unlucky :D > Maybe you are. Pushed now, please try again. Cheers, Hannes
On 2023/10/23 17:28, Hannes Reinecke wrote: > 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.v8 > > As usual, comments and reviews are welcome. > Hi Hannes, It seems a long time, is this work still going on? > Changes to v6: > - Include reviews from Bart > - Add patch to return -EAGAIN from scsi_ioctl_reset() > > Changes to v5: > - Improve description for patch to modify scsi_eh_bus_device_reset() > - Add patch to modify the iteratrion in scsi_eh_bus_reset() > > Hannes Reinecke (10): > 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: set host byte after EH completed > scsi_error: iterate over list of failed commands in > scsi_eh_bus_reset() > scsi: Do not allocate scsi command in scsi_ioctl_reset() > scsi_error: iterate over list of failed commands in > scsi_eh_bus_device_reset() > scsi_error: map FAST_IO_FAIL to -EAGAIN in SCSI EH > scsi: remove SUBMITTED_BY_SCSI_RESET_IOCTL >