Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Mar 2007 07:32:53 -0500
From:      Eric Anderson <anderson@freebsd.org>
To:        Ivan Voras <ivoras@fer.hr>
Cc:        freebsd-geom@freebsd.org
Subject:   Re: Geom_label and multiple devices
Message-ID:  <460A6075.7000302@freebsd.org>
In-Reply-To: <eudglr$mpi$1@sea.gmane.org>
References:  <eudglr$mpi$1@sea.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 03/28/07 05:39, Ivan Voras wrote:
> I've just thought of something - the situation where geom_label detects 
> multiple "same" labels is actually very similar to that of 
> geom_multipath. Obviously this doesn't apply 100% to UFS and other 
> filesystems' labels (except if there's a way to identify different file 
> systems by their superblock, for example timestamp of creation?), but in 
> case of "manual" labels, if the unique ID matches and the label string 
> matches, it's probably the same device.
> 
> Currently, geom_label discards "additional" devices with the same label, 
> and I remember there was a discussion about if that should be changed 
> (though I don't remember the conclusions). It would be useful if 
> geom_label would work the same as geom_multipath in this case (i.e. 
> failover to "next" device, add new devices with same label+id to the 
> pool), or even if geom_multipath were merged in geom_label.
> 
> Comments?
> 


I think that the duplicate label case is not really the same as 
multipath.   I see your point, but the duplicate label issue is more of 
a cause from mistake rather than intention.

To me, these are the cases that could arise for geom_label in the 
duplicate label case:

1) Same device, multiple paths.  Can be detected like you mention above 
(checking superblocks). That works fine for UFS but not everything else. 
  This case must be certain that it *is* the same device.  This is hard 
to do.

2) Possibly same device with multiple paths.  Maybe there's no file 
system on the device yet, or geom_label can't determine if it's the same 
device (sizes, etc all match exactly, but it's not 100% certain).

3) Definitely *not* the same device.

For (1), once geom_label is certain it is truly the same path, ignore 
the additional duplicate labels found, but print a warning like:
"geom_label: duplicate /dev/... found: multiple paths for same label."
"geom_label: removing subsequent duplicates for /dev/..."

For (2), we something similar, but rename any duplicates so the 
administrator can still deal with the duplicate via a label.  That helps 
the admin determine what really went on. Something like this:
"geom_label: duplicate /dev/...: possible multiple paths for same label."
"geom_label: renaming duplicate label /dev/... to /dev/...-DUP1"

And for (3), the result is the same as (2), except the error message is 
different:
"geom_label: duplicate /dev/...: SAME LABEL FOR DIFFERENT DEVICES!"
"geom_label: renaming duplicate label /dev/... to /dev/...-DUP1"

Maybe it would be a good idea to allow a priority value in the 
geom_label meta data so that an admin could prioritize his labels.  For 
instance, on my laptop, I have labeled my root partition 
/dev/label/root.  If I have a compact flash plugged in that I'm working 
on for a small embedded device, I also need it named /dev/label/root, 
even though I'm already using that label.  I want to be able to reboot 
my laptop with the compact flash inserted still, without it possibly 
booting off the flash instead.  To protect against that, I could 
prioritize my internal hd's 'root' labeled device to a priority of '1', 
which means 'nothing is higher priority than this device'.  A '0' would 
mean no priority given, and any number greater than 0 is less priority. 
  That way admins could mark their labels and allow certain devices to 
be forced more important than others.  Comments?


Eric








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?460A6075.7000302>