Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Aug 2003 11:18:18 +0400 (MSD)
From:      Dmitry Morozovsky <marck@rinet.ru>
To:        "Greg 'groggy' Lehey" <grog@FreeBSD.org>
Cc:        freebsd-stable@FreeBSD.org
Subject:   Re: vinum (root on vinum too) throw_rude_remark crash: endless loop
Message-ID:  <20030812110255.S64103@woozle.rinet.ru>
In-Reply-To: <20030812014822.GM803@wantadilla.lemis.com>
References:  <20030811192306.E39447@woozle.rinet.ru> <20030812014822.GM803@wantadilla.lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 12 Aug 2003, Greg 'groggy' Lehey wrote:

GgL> > experimenting with vinum stripes and mirrors, I'd stuck myself with the
GgL> > following:
GgL> >
GgL> > panic: throw_rude_remark: called without config lock
GgL>
GgL> Hah!  So it is possible.  I'd like to see a dump for that one.

I wish I were able to produce such dump... but this panic is just _before_
mounting root r/o

GgL> > So, I'm stuck a bit. Even when I unload kernel modules and tries to
GgL> > load kernel thru synthetic ad0a I got:
GgL>
GgL> > ok unload
GgL> > ok load kernel
GgL> > /kernel text=0x10042f data=0x19704+0x16e28 syms=[0x4+0x1e870+0x4+0x23e87]
GgL> > ok boot -s -a
GgL> >
GgL> > mountroot> ufs:/dev/ad0s1a
GgL> > Mounting root from ufs:/dev/vinum/r
GgL> > no such device 'vinum'
GgL> > setrootbyname failed
GgL> > ffs_mountroot: can't find rootvp
GgL> > Root mount failed: 6
GgL> > panic: Root mount failed, startup aborted.
GgL>
GgL> Hmm.  I've had this problem before, but the method you worked was
GgL> successful.  Are you sure that your root partition is really on
GgL> /dev/ad0s1a?

Yes I really sure ;-) Just checked. BTW, for the last 4.x releases, I never
succeed with manual mountroot.

GgL> In any case, you should be able to fix it by booting
GgL> with the recovery CD and changing the contents of /etc/fstab.

That was (actually, floppy fixit boot as machine has no CD drive) exactly the
revive method, thanks ;-)

Now, for the source of panic. I *think* this is comething related to config
consistency checker. BTW, what is proposed "correct" way to delete a volume? I
was pushed to user 'rm -rf volname', and supposedly this was the problem; as
far as I remember the config raght after crash recovery (unfortunately, I did
not write it in details), there were volume intersection:

drive wd16-0b device /dev/ad0ds1a
drive wd16-1b device /dev/ad2ds1a
drive wd16-alpha device /dev/ad0hs1a
drive wd16-beta device /dev/ad2hs1a
volume r
volume usr
volume var
volume obj
volume lh
volume bsd
volume bk0
volume bk1
...
(all of them are just plain mirrors). I did 'rm -rf bk1', then create 1+0
stripe-mirrored volume for testing. It has been successfully created, then I
rebooted (forgot to add ad1h and ad3h to vinum.drives), and then stuck as
described before. The problem seems to be that when I read config after
recovery, there were _both_ newly created test volume _and_ bk1.

I'll try to reproduce the problem more precisely and followup then. Thanks for
cooperation.

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru ***
------------------------------------------------------------------------



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