On Tue, 2023-10-10 at 12:55 +1300, Michael Hamilton wrote:
There is a discussion going on in the forums about how to restore stability to the ordering (for those that don't want to change or want a short term fix), see:
https://forums.opensuse.org/t/problem-with-disks-order-after-snapshot-202309...
Which suggests adding scsi_mod.async_probe=0 to the bootline. Would this be the same for nvme or does scsi cover that?. The suggestion seems to work.
Strange. This is wrong syntax. The syntax of the parameter is "scsi_mod.disable_async_probing=<driver>". See https://www.suse.com/support/kb/doc/?id=000018449
Thanks. I've found that the stable assignment did not survive a cold boot (maybe I was just "lucky"). So, yes, this doesn't work.
I've tried the syntax you suggested. I didn't know what to put for driver, after Googling, I used:
% udevadm info -a -n /dev/sda | grep -oP 'DRIVERS?=="\K[^"]+' sd ahci pcieport
And added the following to the boot line: scsi_mod.disable_async_probing=sd,ahci,pcieport
The SCSI host adapter driver is It's "ahci" in your case. To find out, walk up the hierarchy using "udevadm info -a", as you already did, and look out for the first parent of the SCSI host ("host$N") which has a non-empty "DRIVERS" attribute.
This appeared to work for a couple of cold boots, the drives all got mapped as they used to be. But it failed to work on a reboot without powering down. But then it worked on a following cold boot. So I don't think this works, or at least not reliably.
`scsi_mod.disable_async_probing=ahci` affects the ordering for a given SCSI host (i.e. SATA port) using the ahci driver. This still doesn't guarantee a stable global ordering, because the ordering of SCSI hosts remains unreliable. It depends on the order in which drivers are loaded (e.g. USB devices may be detected first). You can try to enforce a loading order for SCSI drivers using modprobe.d, like this for usb: softdep usb_storage pre: ahci Furthermore, the SCSI host ordering depends on the discovery of the upper level devices such as PCI devices and SATA ports, which may or may not be deterministic.
Probably things were stable because I was not cold booting, or was "lucky".
Yes ;-)
Bug:
Thanks. Martin