Martin, > The kernel's preference for type 8 designators (see below) is in > contrast with the established user space algorithms, which determine > SCSI WWIDs on productive systems in practice. User space can try to > adapt to the kernel logic, but it will necessarily be a slow and > painful path if we want to avoid breaking user setups. I was concerned when you changed the kernel prioritization a while back and I still don't think that we should tweak that code any further. If the kernel picks one ID over another, that should be for the kernel's use. Letting the kernel decide which ID is best for userland is not a good approach. So while I originally liked the idea of exposing a transport and protocol agnostic wwid for each block device, I think that all the descriptors and ID formats available in both SCSI and NVMe have shown that that approach is fraught with peril. Descriptors that provide "good uniqueness" on one device may be a completely sub-optimal choice for another (zero-padded values, full of spaces, vendors getting things wrong in general). So I think my inclination would be to leave the current wwid as-is to avoid the risk of breaking things. And then export all ID descriptors reported in sysfs. Even though vpd83 is already exported in its entirety, I don't have any particular concerns about the individual values being exported separately. That makes many userland things so much easier. And I think the kernel is in a good position to disseminate information reported by the hardware. This puts the prioritization entirely in the distro/udev/scripting domain. Taking the kernel out of the picture will make migration easier. And it allows a user to pick their descriptor of choice should a device report something completely unusable in type 8. -- Martin K. Petersen Oracle Linux Engineering