On Wed, Jan 16, 2013 at 10:25 PM, David Milburn <dmilburn@xxxxxxxxxx> wrote: > So, if we eliminated the global ata_print_id counter, then we would > need to check all the places ap->print_id is used and consider the host > controller and a local_print_id. So, if the above changed to 2.1, we > would expect ata2.1 to show up in dmesg during error recovery > instead of ata7, right? > > There are other places (non-printk stuff) in libata that check the global > counter that would need to change, and libsas increments the global > counter when a SATA drive is present on a SAS controller. Well, we just need a way to get some "stable" numbers out of /sys when we start at the block device and walk up the chain of parent devices and see the ata directory. It does not necessarily need to be the name of the top ata%d directory, it could be a sysfs attribute somewhere too, if that's easier. If we we are going to support port by-path/ strings for block devices connected through a port multiplier chain, I guess we will need an arbitrary length string representing the concatenated chain of local port numbers, containing stable port identifier numbers of every device involved. None of the numbers it contains can therefore depend on enumeration or loading order. The "stable chain of port numbers" do not necessarily need to share anything with the current global numbers to make the device name unique. It would be easier to understand, but it's not a requirement. Kay Kay -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html