RE: Issue in sas_ex_discover_dev() for multiple level of SAS expanders in a domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux