geom mirror problem

John Hay jhay at icomtek.csir.co.za
Fri Oct 8 02:04:18 PDT 2004


On Fri, Oct 08, 2004 at 07:58:33AM +0200, John Hay wrote:
> On Fri, Oct 08, 2004 at 07:13:59AM +0200, Pawel Jakub Dawidek wrote:
> > On Thu, Oct 07, 2004 at 10:23:27PM +0200, John Hay wrote:
> > +> > This is because ad0 is open with exclusive bit, so gmirror cannot open
> > +> > it for writing and it gets (EPERM - error=1 - errno(2)).
> > +> > gmirror.patch should eliminate this race.
> > +> 
> > +> With gmirror.patch I don't see the geom_mirror error messages, but then
> > +> it doesn't finish booting:
> > +> 
> > +> #######################################################
> > +> GEOM_MIRROR: Device gm0 created (id=861616013)
> > +> GEOM_MIRROR: Device gm0: provider ad0 detected
> > +> GEOM_MIRROR: Device gm0: provider ad2 detected
> > +> Mounting root from ufs:/dev/mirror/gm0s1a
> > +> setrootbyname failed
> > +> Root mount failed: 6
> > +> Manual root filesystem specification
> > +> ...
> > +> mountroot>
> > +> #######################################################
> > +> 
> > +> So how do I go from here? Is there something else I can try?
> > 
> > I wonder how is this possible with g_mirror.c rev.1.36...
> > Could you try this patch and send me the output:
> > 
> > 	http://people.freebsd.org/~pjd/patches/gmirror.3.patch
> 
> I just added this on top of the rest of the patches and it finished
> booting! Strange, I wonder of there can still be a timing problem.
> The mirror is degraded though, but it automatically started syncing
> as opposed to before all the patched where I had to do a "gmirror
> activate ...". I'll let it sync and then reboot again. I do have swap
> inside the mirror, but have the swapoff command in rc.d/swap1.

To followup on myself. After waiting till it finished syncing and then
rebooting twice it stopped both times at the mountroot> prompt and
it looked like this:

#######################################################
ad0: 114473MB <ST3120022A/8.54> [232581/16/63] at ata0-master UDMA100
ad2: 114473MB <ST3120022A/8.54> [232581/16/63] at ata1-master UDMA100
GEOM_MIRROR: g_mirror_can_go: can_go=1
GEOM_MIRROR: Device gm0 created (id=861616013)
GEOM_MIRROR: Device gm0: provider ad0 detected
GEOM_MIRROR: Device gm0: provider ad2 detected
Mounting root from ufs:/dev/mirror/gm0s1a
setrootbyname failed
Root mount failed: 6
Manual root filesystem specification
...
mountroot>
#######################################################

So I guess there is still some kind of race going on and I was just lucky
with my first try with gmirror.3.patch?

John
-- 
John Hay -- John.Hay at icomtek.csir.co.za / jhay at FreeBSD.org


More information about the freebsd-current mailing list