Robin H. Johnson posted on Sun, 11 Mar 2012 23:14:46 +0000 as excerpted:
> On Sun, Mar 11, 2012 at 11:03:50PM +0000, Duncan wrote:
>> Meanwhile, also note that there's PARTLABEL, PARTUUID and ID, that the
>> mount manpage promises to honor. I've not used these myself, but there
>> was a thread on the btrfs list discussing GPT format and users of its
>> partition-labels (as opposed to filesystem labels), that pointed out
>> that mount honors these, since it internally uses the udev symlinks
>> mechanism to support (fs) labels, etc, so they get support for
>> gpt-partition- labels, etc, essentially "for free".
> What manpage are you reading?
> # man 8 mount |grep PART # man 2 mount |grep PART Nada.
>
> When the blkid tool can read PARTUUID/PARTLABEL, then it will just work
> with genkernel, as we use blkid for doing that.
mount (8) under device indication:
>>>>>
Most devices are indicated by a file name (of a block special device),
like /dev/sda1, but there are other possibilities. [...] It is possible
to indicate a block special device using its volume LABEL or UUID (see
the -L and -U options below).
The recommended setup is to use LABEL=<label> or UUID=<uuid> tags rather
than /dev/disk/by-{label,uuid} udev symlinks in the /etc/fstab file. The
tags are more readable, robust and portable. The mount(8) command
internally uses udev symlinks, so use the symlinks in /etc/fstab has no
advantage over LABEL=/UUID=. For more details see libblkid(3).
<<<<<
As I said, it wasn't apparent to me until someone pointed it out to me on
the btrfs list, but apparently, mount understands SOMETHING= as
referencing /dev/disk/by-something, using those symlinks internally, so
while the manpage doesn't specifically mention PARTLABEL, etc, according
to that person, it "just works". Upon seeing that claim, I reread the
manpage, and sure enough, that meaning can be seen "between the lines" if
you already know to look for it.
I had intended to try it, since I use gptfdisk and gpt partitions pretty
much universally now, and referencing the PARTLABEL would have meant that
I could for instance do a mkfs and redo my backup partitions without
having to update fstab's labels because I could use the partlabels
instead. Unfortunately, when I actually checked to see what symlinks
udev was putting in /dev/disk/by-partlabel, while indeed the gpt
partlabels for the physical disks were there, the partlabels for the
gpt-partitioned md/raid devices were NOT, and that's what I actually
needed, so unfortunately I couldn't try using partlabels after all.
That's why I've yet to actually verify the claim.
At some point I'll probably verify it with a USB attached external drive,
as it's my last-resort backup, and/or on my netbook, with only one drive
so no raid, but I've not gotten that far, yet.
FWIW, the thread started with someone complaining that a btrfs label on a
multi-device filesystem (since btrfs can do that) was attached to the
filesystem, NOT the device/partition. Various people pointed out that
it's a filesystem label and that btrfs thus had it correct. Meanwhile,
on one subthread I pointed out gpt partition labels as an alternative,
but said I didn't think Linux could actually do much with them yet.
That's when someone else replied that it could do more than I thought,
mount and fstab handled partlabel, and he thought the kernel root=
parameter could take it as well.
Here's his post on gmane:
http://permalink.gmane.org/gmane.comp.file-systems.btrfs/16023
As I said, after reading that, rereading the mount (8) manpage, it /did/
seem to hint that it should do so even if it doesn't outright say it,
since it specifically mentions using udev's symlinks internally.
But as I've not tried it yet I have only his post and my reparsing of
that manpage based on it, to go on. Is it incorrect?
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman