Messages in this thread | | | Subject | Re: [PATCH V2] scsi: libsas: Directly kick-off EH when ATA device fell off | From | Jason Yan <> | Date | Wed, 21 Dec 2022 18:29:04 +0800 |
| |
On 2022/12/21 17:40, John Garry wrote: > On 20/12/2022 09:49, Jason Yan wrote: >> >> Itering tagset in libsas is odd. > > Itering with block layer APIs is just a method to deal with each active > IO. However, libsas should not be aborting IO directly. It may provide > helper routines, but the LLDD should be dealing with aborting IO. > > > > > The question is, shall we implement the aborting from the driver side, > > such as what sas_ata_device_link_abort() do. Or shall we implement the > > aborting from the upper side(scsi middle layer or block layer), such as > > trigger block layer time out handler immediately after we found device > > is gone? > > As mentioned, aborting each IO should be the job of the LLDD. However, > just making the IO timeout will lead to EH kicking in earlier, and EH > will do usual per-IO handling in sas_eh_handle_sas_errors() that would > happen when the IO timesout normally - so what are we really gaining > here? Just EH kicks in earlier. But we still have the problem of all > other per-host IO being blocked while EH is active.
This is not the same issue as I replied yesterday. https://lkml.org/lkml/2022/12/19/1034
Thanks, Jason
| |