eSATA auto mounting

David Zeuthen zeuthen at gmail.com
Mon Jun 13 09:01:30 PDT 2011


On Mon, Jun 13, 2011 at 11:30 AM, Phillip Susi <psusi at cfl.rr.com> wrote:
> 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?

Because it just cannot be fixed. Let me elaborate: It's nice that your
Dell laptop happens to get the bits right in its AHCI registers,
hurrah and all, but as soon as you are relying on BIOS vendors to get
your user experience (e.g. automounting, ability to mount at all) then
you've lost. So in this case it's better to just simplify your model
(e.g. throw out the notion that is drive is external/internal or not)
so you do not rely on e.g. BIOS writers to get it right. That way
everything is simpler and our software works the same on all hardware.

Then there's the other view that says that very few people really care
about whether a drive is external or not. Sure, it's nice, but it's
really overkill - it's not something that 99% of all non-geeks ever
need to control. And if they do, they know how to work around it.

Hell, there's the people who say that the line is too blurry to even
say whether a drive is external or not - e.g. one mans external drive
is another mans internal drive. For example, what value would you
assign to the :DeviceIsSystemInternal property for a SATA disk that
sits in a trayless bay of an external SAS 8-disk tower? You can argue
both ways that it's system-internal and that it isn't.

By not having things like the SystemInternal property, we nicely
sidestep all these problems and our software becomes easier to write,
maintain and use. And more importantly, it becomes easier to debug.
And it reduces pressure on support channels (e.g. the corporate
helpdesk or the son of the user). Less _is_ more.

Btw, there are plans to introduce a UDISKS_AUTOMOUNT_HINT variable
that can assume the values 'always' and 'never' and make the desktop
automounter use that variable (and of course have it documented in
udisks(7), cf http://hal.freedesktop.org/docs/udisks/udisks.7.html ).
This way you can simply write an udev rule that sets this - you may
even write a small program that looks at the AHCI registers for this -
or it could look at the phase of the moon or whatever you want.

     David


More information about the devkit-devel mailing list