Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Oct 2004 11:03:09 +0200
From:      John Hay <jhay@icomtek.csir.co.za>
To:        Pawel Jakub Dawidek <pjd@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: geom mirror problem
Message-ID:  <20041008090309.GA77513@zibbi.icomtek.csir.co.za>
In-Reply-To: <20041008055833.GB42075@zibbi.icomtek.csir.co.za>
References:  <20041007055209.GU73767@darkness.comp.waw.pl> <20041007065125.GA29164@zibbi.icomtek.csir.co.za> <20041007082652.GX73767@darkness.comp.waw.pl> <20041007085920.GA32875@zibbi.icomtek.csir.co.za> <20041007090656.GY73767@darkness.comp.waw.pl> <20041007132421.GA41532@zibbi.icomtek.csir.co.za> <20041007133537.GC73767@darkness.comp.waw.pl> <20041007202326.GA55025@zibbi.icomtek.csir.co.za> <20041008051359.GF73767@darkness.comp.waw.pl> <20041008055833.GB42075@zibbi.icomtek.csir.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
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@icomtek.csir.co.za / jhay@FreeBSD.org



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