Internal Use - Confidential +AD4- -----Original Message----- +AD4- From: John Garry +ADw-john.g.garry+AEA-oracle.com+AD4- +AD4- Sent: Tuesday, May 7, 2024 11:15 PM +AD4- To: Li, Eric (Honggang) +ADw-Eric.H.Li+AEA-Dell.com+AD4AOw- Jason Yan +ADw-yanaijie+AEA-huawei.com+AD4AOw- +AD4- james.bottomley+AEA-hansenpartnership.com+ADs- Martin K . Petersen +ADw-martin.petersen+AEA-oracle.com+AD4- +AD4- Cc: linux-scsi+AEA-vger.kernel.org +AD4- Subject: Re: Issue in sas+AF8-ex+AF8-discover+AF8-dev() for multiple level of SAS expanders in a domain +AD4- +AD4- +AD4- +AFs-EXTERNAL EMAIL+AF0- +AD4- +AD4- On 07/05/2024 12:17, Li, Eric (Honggang) wrote: +AD4- +AD4APg- Sure, I don't particularly like it as a fix either. But first I would +AD4- +AD4APg- like to get your setup working again to verify that only this needs +AD4- +AD4APg- fixing. Indeed something else may be broken since a1b6fb947f923. In +AD4- +AD4APg- addition, if we need to backport a fix, I would only like to backport a fix for real known +AD4- broken topologies, and not theoretical issues not experienced. +AD4- +AD4APg- +AD4- +AD4APg- But what exact setup do you have? I am confused, as you seem to be +AD4- +AD4APg- talking about your setup being broken, but then other setup may also +AD4- +AD4APg- being broken, but you don't have access to another setup. What is the other setup? +AD4- +AD4APg- +AD4- +AD4- This issue was reported by our tester. His setup is SAS Controller +AD4- +AD4- +ADw---+AD4- SAS Expander +ADw---+AD4- SAS Expander +ADw---+AD4- SAS drives +AD4- +AD4- +ADw---+AD4- SAS Expander +ADw---+AD4- SAS drives +AD4- +AD4- ...... +AD4- +AD4- When this issue occurred, no SAS drives could be detected. +AD4- +AD4- As a workaround, I've already added those codes removed by the commit a1b6fb947f923, +AD4- and at least we could detect the SAS drives. +AD4- +AD4- ok, good to know, but it would be good to confirm that just re-adding the code to set +AD4- phy+AF8-state is enough. +AD4- +AD4- +AD4- +AD4- +AD4- Since our SAS expanders are self-configured, we don't need to explicitly configure the +AD4- per-PHY routing tables. +AD4- +AD4- So, I am not sure there is any other issue in this workaround as some per-PHY routing +AD4- tables are not configured. +AD4- +AD4- +AD4- +AD4APgA+AD4- I think the root cause of this issue is the order of function calls +AD4- +AD4APgA+AD4- to +AD4- +AD4APgA+AD4- sas+AF8-dev+AF8-present+AF8-in+AF8-domain() and sas+AF8-ex+AF8-join+AF8-wide+AF8-port(). +AD4- +AD4APgA+AD4- My concern here is whether or not we still need to configure +AD4- +AD4APgA+AD4- routing on the parent SAS expander before calling sas+AF8-ex+AF8-join+AF8-wide+AF8-port(). +AD4- +AD4APgA+AD4- This part of logic is not present previously and I don't have environment to test this. +AD4- +AD4APgA+AD4- +AD4- +AD4APgA+AD4- Back to your question, I believe we do need to join a wideport to downstream expander. +AD4- +AD4APgA+AD4- Changing the phy+AF8-state to PHY+AF8-STATE+AF8-DISCOVERED will skip scanning +AD4- +AD4APgA+AD4- those PHYs, +AD4- +AD4APg- I would have thought that re-adding the code removed in a1b6fb947f923 +AD4- +AD4APg- to set PHY+AF8-STATE+AF8-DISCOVERED would only affect the first phy scanned +AD4- +AD4APg- in that wideport. Other phys scanned would have it set through calls +AD4- +AD4APg- to +AD4- +AD4APg- sas+AF8-ex+AF8-join+AF8-wide+AF8-port() +AD4- +AD4APg- +AD4- +AD4- I don't catch your point. +AD4- +AD4- In my understanding, it would affect the rest PHYs in that wide port, not the first one. +AD4- +AD4- The first PHY has been scanned/discovered and added to a port (at that time, it is just a +AD4- narrow port yet). +AD4- +AD4- Agreed +AD4- +AD4- +AD4- Call to sas+AF8-ex+AF8-join+AF8-wide+AF8-port() makes the rest PHYs associated with that existing port +AD4- (making it become wideport) and set up sysfs between the PHY and port. +AD4- Set +AD4- PHY+AF8-STATE+AF8-DISCOVERED would make the rest PHYs not being scanned/discovered again +AD4- (as this wide port is already scanned). +AD4- +AD4- If you can just confirm that re-adding the code to set phy+AF8-state +AD0- DISCOVERED is good +AD4- enough to see the SAS disks again, then this can be further discussed. +AD4- OK. I will work on that and keep you updated. Eric Li