Re: VFS integration with kernel mounts

On Fri, 2007-05-04 at 09:00 -0500, Jerry Haltom wrote:
> Why doesn't HAL use UUIDs? 

Doesn't exactly make sense. Maybe you mean: "Why does my mount points
not use UUID?". Understand that HAL [1] is only a source of information
+ mechanism to allow g-v-m, KDE, gnome-mount, whatever to mount file
systems from removable drives at a given location. 

It's obviously policy what mount point (and mount options) to use; so
that needs to come from the desktop session. So gnome-mount stores this
in gconf (see the gnome-mount man page) and if there is no settings
stored for a given volume we use reasonable and tasteful defaults. And
it's not reasonable to prefer




In addition some file systems don't have UUID's and some instances of a
file systems leaves it unset (my EOS 5D leaves the UUID blank when
formatting the CF card with FAT16). So you need to use the fs label
which is not always unique... (again, my EOS 5D always chooses

> I'd say probably because up until now there
> was no abstraction to turn those UUIDs into usefully understandable
> paths for the user. If you plug in a USB disk and open Nautilus, you see
> the /media/usbdisk-1 path.  

No, actually you don't... since file systems from most USB disks have
file system labels and we use those instead. For the odd cases where
this is not the case we use /media/usbdisk /media/disk or something.

> They needed to make that look right and
> didn't want to write a next generation VFS system like you are doing. I
> could be wrong however.

HAL doesn't even try to solve those problems as HAL is system-wide and a
VFS system for desktop apps obviously needs to be session-wide.

> It's worth noting that OS X doesn't mount with UUIDs either. They
> generate a session-unique value for the mount point, which looks
> resonable. They encapsulate access to this mount point in an API which
> understands the uniqueness of a device.

I don't know what that means. For removable storage devices they simply
use the label and mount in /Volumes/<LABEL>.


[1] :

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]