Date: Mon, 09 Aug 1999 20:40:44 +0800 From: Peter Wemm <peter@netplex.com.au> To: Greg Lehey <grog@lemis.com> Cc: Dag-Erling Smorgrav <des@flood.ping.uio.no>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/vinum vinum.c Message-ID: <19990809124044.46D2D1C1E@overcee.netplex.com.au> In-Reply-To: Your message of "Mon, 09 Aug 1999 21:39:15 %2B0930." <19990809213915.J31076@freebie.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Greg Lehey wrote:
> On Monday, 9 August 1999 at 13:34:29 +0200, Dag-Erling Smorgrav wrote:
> > Greg Lehey <grog@FreeBSD.org> writes:
> >> Log:
> >> vinumopen: add code to open raw subdisks. This is now used to
> >> initialize subdisks. Probably the plex-related subdisk type will die
> >> a death.
> > ^
> > I get the feeling you forgot an adjective :)
>
> You get an incorrect feeling.
>
> Greg
Speaking of which, I've started getting this:
# vinum start
vinum: reading configuration from /dev/da1s1e
vinum: updating configuration from /dev/da3s1e
vinum: updating configuration from /dev/da2s1e
vinum: updating configuration from /dev/da0s1e
Fatal trap 12: page fault while in kernel mode
mp_lock = 01000002; cpuid = 1; lapic.id = 01000000
fault virtual address = 0x10
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc014100c
stack pointer = 0x10:0xc617ec38
frame pointer = 0x10:0xc617ec84
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 15 (vinum)
interrupt mask = none <- SMP: XXX
kernel: type 12 trap, code=0
Stopped at read_drive+0xa8: addl 0x10(%eax),%ecx
db> trace
read_drive(c0882000,c0885000,20000,1200,0) at read_drive+0xa8
vinum_scandisk(c0287fc4,4,0,c0288f2c,c617ed8c) at vinum_scandisk+0x31a
parse_config(c087bc00,c026f108,0,0,c617edac) at parse_config+0x65
parse_user_config(c087bc00,c026f108,c617ee08,c0288f2c,c5cb7620) at parse_user_config+0x17
vinumioctl(c0288f2c,c4004640,c087bc00,3,c5cb7620) at vinumioctl+0x2b8
spec_ioctl(c617ee08,c617edec,c01f8f1d,c617ee08,c617ee98) at spec_ioctl+0x3c
spec_vnoperate(c617ee08,c617ee98,c01894e9,c617ee08,0) at spec_vnoperate+0x15
ufs_vnoperatespec(c617ee08,0,c086dd80,400,fde000) at ufs_vnoperatespec+0x15
vn_ioctl(c086dd80,c4004640,c087bc00,c5cb7620,c5cb7620) at vn_ioctl+0xdd
ioctl(c5cb7620,c617ef80,4,bfbfc90c,4) at ioctl+0x1ef
syscall(2f,2f,2f,4,bfbfc90c) at syscall+0x186
Xint0x80_syscall() at Xint0x80_syscall+0x31
Specifically, vinumio.c line 341:
/* XXX Check this. I think the test is wrong */
if (drive->vp->v_lastr + bscale == blocknum) {
drive->vp is NULL at this point. I didn't get a chance to look further, my
beloved 4 year old pressed the reset button at about that point.
Cheers,
-Peter
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990809124044.46D2D1C1E>
