On 11/5/24 10:10, Niklas Cassel wrote:
Hello 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
As usual, comments and reviews are welcome.
This seems to be the latest version of your EH rework.
Do you have any plans to send a v9?
Weelll ... I didn't really proceed with that, as that requires
for some LLDDs to set a side a command tag for TMF.
It was relatively easy pre-multiqueue times (where you could just
reduce max_commands by 1), but for blk-mq that now longer works.
We need to do some really cumbersome things (just look at fnic ...)
and I hoped I could get the 'reserved commands for TMF' patchset
in first, so then this one would be easy.
Alas, this hasn't happened, and so I didn't continue on that work.
But I'll see if I can resurrect it.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich