Odd behavior of labels on different filesystem types

jhell jhell at dataix.net
Sun Jul 4 17:58:33 UTC 2010

On 07/04/2010 12:15, Kevin Oberman wrote:
>> Sender: "J. Hellenthal" <jhellenthal at gmail.com>
>> Date: Sun, 04 Jul 2010 01:55:20 -0400
>> From: jhell <jhell at dataix.net>
>> On 07/03/2010 16:51, Kevin Oberman wrote:
>>> I have run into an odd behavior in 8-stable that I can't see a reason
>>> for.
>>> If I have a FAT32 formatted removable drive, I get /dev entries for it
>>> as both /dev/msdosfs/LABEL and /dev/ufsid/ID. When I mount the
>>> filesystem, the /dev/ufsid label is removed, but the other two remain.
>>> If I have a UFS filesystem on the disk, I have similar devices except
>>> that the LABEL is /dev/ufs/LABEL. But, when the UFS device is mounted,
>>> the /dev/ufsid/ID AND the /dev/ufs/LABEL devs are both deleted. 
>>> I'm not sure which is "right", but I can't see the reason for the
>>> different behavior and it has caused a fair bit of trouble when working
>>> with gnome-mount as I can't unmount a ufs device. When the
>>> /dev/ufs/LABEL device is created again on the umount, gnome-mount sees a
>>> new device and immediately re-mounts it.
>>> Can this inconsistency be corrected?
>> Can you try to zero out that disk first i.e.
>> dd if=/dev/zero of=/dev/DISK bs=4m
>> Then format your msdos fat part and relabel it. You should not see a
>> dev/ufsid/ label for this anymore. I believe that for some reason the
>> ufsid metadata or whatever you want to call it some how has been left
>> behind and is still being read for whatever reason and can be confirmed
>> by this.
>> As for /dev/ufs/LABEL /dev/ufsid/ID /dev/device when you mount one the
>> others should disapear so this is correct behavior.
> Thanks for the suggestion. I will try a device which has never had a UFS
> file system and see if the ufsid device is created. Looks like the
> former is an issue with geom tasting and it would be nice to get it
> fixed, but it is not what is causing my problem. It is the latter issue
> that causes the problems with gnome-mount.
> The real issue for me is that /dev/ufs/LABEL is removed on a mount while
> /dev/msdosfs/LABEL remains. hald easily works around ufsid by ignoring
> it, but the /dev/FS/LABEL has to be acted upon differently depending on
> which filesystem is involved.

Do you use those labels for anything ? if not, I worked around this
while I used gnome for a period with devfs.rules(5) example follows.

rc.conf(5) add devfs_system_ruleset="your_system"

add path 'ufsid'	hide
add path 'msdosfs'	hide
add path 'ufs'		hide
add path 'iso9660'	hide
add path 'reiserfs'	hide
add path 'ntfs'		hide
add path 'ext2fs'	hide
add path 'gpt'		hide

And you can do the same for the actual devices that you use a label for,
so mounting devices like daN can just be done from /dev/label/LABEL.

add path 'da0'		hide # Do this only after it is labeled.
add path 'label/DA0LABEL' mode 0600 user jhell group jhell

With a little toying of the above you should get the desired effect you
want in gnome. I do find it frustrating having to resort to using only
generic labels for situations like this and believe firmly that the
generic label should take precedence over all labels except gpt & ufsid
and result in the other name-brand labels disappearing not causing this
frustration to happen. Having the multiple layers of labels available
IMO is cause for confusion.

Final note before I stretch this out like the Armstrong figurine ;),
there was a case where I was using the module instead of having
GEOM_LABEL option built into the kernel, this being loaded after the
machine was already booted caused some strange results with the labels
that I know of on 7.2-STABLE. I don't know if this still exists but the
result from that was multiple labels still being available under /dev
while its counterpart label was mounted. That caused Gnome/hald to get
pretty confused.

Regards & Good luck,



More information about the freebsd-stable mailing list