Re: [PATCH v2 0/3] scsi: libsas: handle linkrate change in sas_rediscover_dev
From: yangxingui
Date: Wed May 13 2026 - 04:14:26 EST
On 2026/5/13 15:29, John Garry wrote:
On 13/05/2026 03:16, Xingui Yang wrote:
When a device attached to an expander phy experiences a linkrate change
(e.g., due to cable reconnection or negotiation), the current code in
sas_rediscover_dev() treats it as "broadcast flutter" and takes no action
if the SAS address and device type remain unchanged.
Can sas_rediscover_dev() check the linkrate (vs expected) to understand that this flutter has renegotiated the linkrate and then consider it not just a flutter?
Hi, John
Theoretically, it is possible. As early as 2019, Jason attempted to propose the solution you mentioned. He conducted a relatively comprehensive assessment for flutter, including scenarios where the SAS address changes or the ATA ID changes. However, in actual use, such situations almost never occur unless there is an extremely short time window during which the drive is swapped or a new SATA drive is replaced. Because this solution is associated with other modifications and may have significant impacts, it has not been adopted.
https://lore.kernel.org/linux-scsi/20190130082412.9357-6-yanaijie@xxxxxxxxxx/
Currently, scenarios involving changes in linkrate are relatively more common, and such situations can be easily reproduced by manually adjusting the linkrate by sysfs. Therefore, a less impactful synchronous update solution was adopted.
Thanks.
Xingui