Broken gmirror: why /dev/ufs is empty when geom_mirror is not
loaded?
Ivan Voras
ivoras at freebsd.org
Mon Jan 17 13:31:00 UTC 2011
On 13/01/2011 19:37, Lev Serebryakov wrote:
> Hello, Freebsd-geom.
> You wrote 13 января 2011 г., 18:24:18:
>
>> I have mirrored PARTITION (/dev/ad4s1d + /dev/ad6s1d) with UFS with
>> label on it. This label is shown in /dev/ufs when geom_mirror is
>> loaded.
>
>> When geom_mirror is NOT loaded both ad4s1d and ad6s1d are valid,
>> complete, clean filesystems, but here is no /dev/ufs entries for them,
>> and kernel can not mount FSes at all.
> And even worse: it sees ONE of all FSes and when "geom_mirror" is
> loaded, it puck up one of components from "/dev/ufs/home" instead of
> device node and everything hangs up due to loop (?)...
Yes, gmirror and glabel are known to interact badly because of such edge
cases - since glabel presents the whole underlying device in pretty much
the same way as the original device entry, gmirror cannot distinguish
between the two. You could use the "-h" argument to "gmirror create" to
get around this.
Since this is so common and has also bitten me in the past, I wonder if
some kind of avoidance detection mechanism could be created in gmirror?
I'm thinking of making glabel expose a GEOM property like "fslabel"
meaning "this device entry comes from a file system label, not a device
or native glabel label" and making gmirror search for this property and
skip tasting for devices having it?
Pawel?
More information about the freebsd-geom
mailing list