On 6/13/2011 10:45 AM, David Zeuthen wrote:
First is that there is no reliable way you can determine whether a SATA drive is connected via an eSATA connector or not. So we shouldn't even be trying. Even laptops for which the AHCI data will give you some hints (cf. bit 21 in 3.3.7 of the AHCI 1.3 spec, "External SATA Port (ESP)") seem to lie about it. Presumably because laptop vendors don't fill in the right data which is probably because Windows don't use it. I don't know.
Just because some hardware is broken doesn't mean you should ignore the flag specified by the standard. My Dell netbook gets it right. Those who have broken hardware I am sure would appreciate a workaround allowing them to override, but those with hardware that complies with the standard would appreciate their eSATA drives working correctly.
This is why the DeviceIsSystemInternal property, this one http://hal.freedesktop.org/docs/udisks/Device.html#Device:DeviceIsSystemInternal talks about "heuristics". Note that this property will be removed in udisks in the next ABI break (2.0). So we shouldn't be assuming that we know such things (e.g. whether it is connected via eSATA) about a disk drive, so we shouldn't be basing policy (e.g. whether to automount or not) on it since we cannot know.
So you are saying that the policy of auto mounting external drives and not internal ones is fundamentally broken and must go away? Why not fix it to work correctly rather than remove the feature?
Disagree because the kernel shouldn't be reporting its guesses to the user.
It isn't a guess; it is hardware information. Arguing against reporting it is like arguing that the kernel should not report that a drive claims to use 4kb sectors. The fact that some drives lie and claim they use 512 bytes when they are in fact, 4kb, is not a reason to ignore drives that comply with the standard.
_______________________________________________ devkit-devel mailing list devkit-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/devkit-devel