[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a8b18cea-cc04-47d0-8ff0-b02dd087dc73@oracle.com>
Date: Tue, 28 May 2024 11:11:24 +0100
From: John Garry <john.g.garry@...cle.com>
To: yangxingui <yangxingui@...wei.com>, yanaijie@...wei.com,
jejb@...ux.ibm.com, martin.petersen@...cle.com,
damien.lemoal@...nsource.wdc.com
Cc: linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
linuxarm@...wei.com, prime.zeng@...ilicon.com,
chenxiang66@...ilicon.com, kangfenglong@...wei.com
Subject: Re: [PATCH v2] scsi: libsas: Fix exp-attached end device cannot be
scanned in again after probe failed
On 25/05/2024 04:08, yangxingui wrote:
>> Why do these new additions not cover the same job which those calls to
>> the same functions @out covers?
> For asynchronous probes like sata, the failure occurs after @out. After
> adding the device to port_delete_list, the port is not deleted
> immediately. This may cause the device to fail to create a new port
> because the previous port has not been deleted when the device attached
> again. as follow:
>
> 1. REVALIDATING DOMAIN
> 2. new device attached
> 3. ata_sas_async_probe
> 4. done REVALIDATING DOMAIN
> 5. @out, handle parent->port->sas_port_del_list
> 6. sata probe failed
> 7. add phy->port->list to parent->port->sas_port_del_list // port won't
> delete now
>
> 8、REVALIDATING DOMAIN
> 9、new device attached
> 10、new port create failed, as port already exits.
>
ok, so next please consider these items:
- add a helper for calling sas_destruct_devices() and sas_destruct_ports().
- add a comment on why we have this new extra call to
sas_destruct_devices() and sas_destruct_ports()
- can we put the new call to sas_destruct_devices() and
sas_destruct_ports() after 7, above? i.e. the
sas_probe_devices() call? It would look a bit neater.
Thanks,
John
Powered by blists - more mailing lists