[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0ec55896-a690-9aca-a85a-4e6584e27967@huawei.com>
Date: Wed, 21 Dec 2022 18:29:04 +0800
From: Jason Yan <yanaijie@...wei.com>
To: John Garry <john.g.garry@...cle.com>,
yangxingui <yangxingui@...wei.com>, <jejb@...ux.ibm.com>,
<martin.petersen@...cle.com>, <damien.lemoal@...nsource.wdc.com>,
<linux-ide@...r.kernel.org>, <hare@...e.com>, <hch@....de>
CC: <linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linuxarm@...wei.com>, <prime.zeng@...ilicon.com>,
<kangfenglong@...wei.com>
Subject: Re: [PATCH V2] scsi: libsas: Directly kick-off EH when ATA device
fell off
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
Powered by blists - more mailing lists