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>