Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

kernel/4508: rebuilding raidframe parity causes panic

0 views
Skip to first unread message

fri...@blackant.net

unread,
Sep 14, 2005, 12:46:34 AM9/14/05
to
>Number: 4508
>Category: kernel
>Synopsis: rebuilding raidframe parity causes panic
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Sep 14 04:40:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:
>Release: 3.8-current
>Organization:
net
>Environment:

System : OpenBSD 3.8
Architecture: OpenBSD.i386
Machine : i386
>Description:
After configuring either raid1 or raid5 raidframe devices, running
`raidctl -R /dev/[device] raid[d]` causes panic. This is tested
on a kernel built from source cvs'd 20050908, using GENERIC with
the following lines added:
pseudo-device raid 4
option RAID_AUTOCONFIG

The problem is not seen on the same hardware when running a 3.7 kernel
with those lines added.

Sample panic:
# raidctl -R /dev/wd3e raid0
Closing the opened device: /dev/wd3e
panic: lockmgr: pid 1545, not exclusive lock holder 12217 unlocking
Stopped at Debugger+0x4: leave
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
Debugger(0,609,0,6,d299e2b8) at Debugger+0x4
panic(d0549780,609,2fb9,0,0) at panic+0x63
lockmgr(d299e2b8,6,d29a0d2c,d2adb7b4,0) at lockmgr+0xb3
ufs_unlock(d6d98bf4,3,6000,d6db5298,d05d8a40) at ufs_unlock+0x2c
VOP_UNLOCK(d29a0cac,0,d2adb7b4,d08ed700) at VOP_UNLOCK+0x2e
ufs_inactive(d6d98c54,d29a0cac,30042,d6db5298,d05d8980) at ufs_inactive+0x57
VOP_INACTIVE(d29a0cac,d2adb7b4,d6d98cbc,d028acc1,0) at VOP_INACTIVE+0x28
vput(d29a0cac,20002,d6db5298,0,d299e2b8) at vput+0x32
vn_close(d29a0cac,3,d2afb000,d6db5298) at vn_close+0x40
rf_close_component(d08ff000,d29a0cac,0,0,0) at rf_close_component+0x3d
rf_ReconstructInPlace(d08ff000,0,3,0,1) at rf_ReconstructInPlace+0x52d
rf_ReconstructInPlaceThread(d0997be0) at rf_ReconstructInPlaceThread+0x30
Bad frame pointer: 0xd075bf08
ddb> ps
PID PPID PGRP UID S FLAGS WAIT COMMAND
* 1545 0 0 0 7 0x100204 raid_reconip
14956 886 14956 0 3 0x4006 biowait raidctl
12217 0 0 0 3 0x100204 rfwcond raid0
886 1 886 0 3 0x4086 pause ksh
28091 1 28091 0 3 0x4086 ttyin getty
24422 1 24422 0 3 0x84 select cron
14480 1 14480 0 3 0x84 select sshd
4862 1 4862 0 3 0x40184 select sendmail
28533 1 28533 0 3 0x184 select inetd
1137 14963 14963 83 3 0x184 poll ntpd
14963 1 14963 0 3 0x84 poll ntpd
8741 7281 7281 73 2 0x184 syslogd
7281 1 7281 0 3 0x84 netio syslogd
12958 1 12958 77 3 0x184 poll dhclient
4401 1 2191 0 3 0x86 poll dhclient
10 0 0 0 3 0x100204 crypto_wa crypto
9 0 0 0 3 0x100204 aiodoned aiodoned
8 0 0 0 3 0x100204 syncer update
7 0 0 0 3 0x100204 cleaner cleaner
6 0 0 0 3 0x100204 reaper reaper
5 0 0 0 3 0x100204 pgdaemon pagedaemon
--db_more--^H^H^H^H^H^H^H^H^H^H^H ^H^H^H^H^H^H^H^H^H^H^H 4 0
0 0 3 0x100204 pftm pfpurge
3 0 0 0 3 0x100204 apmev apm0
2 0 0 0 3 0x100204 kmalloc kmthread
1 0 1 0 3 0x4084 wait init
0 -1 0 0 3 0x80204 scheduler swapper
ddb>


Dmesg:
[ using 503364 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2005 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 3.8-current (GENERICRAID) #0: Thu Sep 8 15:41:12 EDT 2005
ro...@paricia.blackant.net:/usr/src/sys/arch/i386/compile/GENERICRAID
cpu0: Intel Pentium/MMX ("GenuineIntel" 586-class) 199 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,MMX
cpu0: F00F bug workaround installed
real mem = 66695168 (65132K)
avail mem = 52903936 (51664K)
using 839 buffers containing 3436544 bytes (3356K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 09/06/96, BIOS32 rev. 0 @ 0xffe90
apm0 at bios0: Power Management spec V1.1
apm0: AC on, battery charge unknown
apm0: flags 30101 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI BIOS has 4 Interrupt Routing table entries
pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc0000/0x8000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82437FX" rev 0x02
pcib0 at pci0 dev 7 function 0 "Intel 82371FB ISA" rev 0x02
pciide0 at pci0 dev 7 function 1 "Intel 82371FB IDE" rev 0x02: DMA, channel 0 wi
red to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <HDS722516VLAT80>
wd0: 16-sector PIO, LBA48, 157066MB, 321672960 sectors
wd1 at pciide0 channel 0 drive 1: <HDS722516VLAT80>
wd1: 16-sector PIO, LBA48, 157066MB, 321672960 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
wd1(pciide0:0:1): using PIO mode 4, DMA mode 2
wd2 at pciide0 channel 1 drive 0: <ST3160023A>
wd2: 16-sector PIO, LBA48, 152627MB, 312581808 sectors
wd3 at pciide0 channel 1 drive 1: <HDS722516VLAT80>
wd3: 16-sector PIO, LBA48, 157066MB, 321672960 sectors
wd2(pciide0:1:0): using PIO mode 4, DMA mode 2
wd3(pciide0:1:1): using PIO mode 4, DMA mode 2
bge0 at pci0 dev 12 function 0 "Altima AC9100" rev 0x15, BCM5701 B5 (0x0105): ir
q 10 address 00:09:5b:20:b5:28
brgphy0 at bge0 phy 1: BCM5701 10/100/1000baseT PHY, rev. 0
vga1 at pci0 dev 16 function 0 "S3 Trio32/64" rev 0x53
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
sb0 at isa0 port 0x220/24 irq 5 drq 1: dsp v4.13
midi0 at sb0: <SB MIDI UART>
audio0 at sb0
opl0 at sb0: model OPL3
midi1 at opl0: <SB Yamaha OPL3>
pcppi0 at isa0 port 0x61
midi2 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
isapnp0 at isa0 port 0x279: read port 0x203
ep1 at isapnp0 "3Com 3C509B EtherLink III, TCM5095, PNP80F7, " port 0x210/16 irq
9: address 00:c0:4f:c3:8f:4a, utp (default utp)
biomask f945 netmask ff45 ttymask ffc7
pctr: 586-class performance counters and user-level cycle counter enabled
Kernelized RAIDframe activated
dkcsum: wd0 matches BIOS drive 0x80
dkcsum: wd1 matches BIOS drive 0x81
dkcsum: wd2 matches BIOS drive 0x82
dkcsum: wd3 matches BIOS drive 0x83
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
Automatic boot in progress: starting file system checks

>How-To-Repeat:

Here are the exact steps used to create the raidset and then cause the panic:

# disklabel wd0c
# Inside MBR partition 3: type A6 start 63 size 321669432
# /dev/rwd0c:
type: ESDI
disk: ESDI/IDE disk
label: HDS722516VLAT80
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 321672960
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
a: 204561 63 4.2BSD 2048 16384 202 # Cyl 0*- 202
b: 1638000 204624 swap # Cyl 203 - 1827
c: 321672960 0 unused 0 0 # Cyl 0 -319119
d: 2097648 1842624 4.2BSD 2048 16384 328 # Cyl 1828 - 3908
e: 1000000 12000000 RAID # Cyl 11904*- 12896*
# disklabel wd1c
# Inside MBR partition 3: type A6 start 0 size 321669495
# /dev/rwd1c:
type: ESDI
disk: ESDI/IDE disk
label: HDS722516VLAT80
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 321672960
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
b: 11672897 63 swap # Cyl 0*- 11580*
c: 321672960 0 unused 0 0 # Cyl 0 -319119
e: 1000000 12000000 RAID # Cyl 11904*- 12896*
# disklabel wd2c
# /dev/rwd2c:
type: ESDI
disk: ESDI/IDE disk
label: ST3160023A
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 312581808
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
c: 312581808 0 unused 0 0 # Cyl 0 -310100
e: 1000000 12000000 RAID # Cyl 11904*- 12896*
# disklabel wd3c
# /dev/rwd3c:
type: ESDI
disk: ESDI/IDE disk
label: HDS722516VLAT80
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 321672960
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
c: 321672960 0 unused 0 0 # Cyl 0 -319119
e: 1000000 12000000 RAID # Cyl 11904*- 12896*
# cat /root/raid0.conf
START array
1 4 0

START disks
/dev/wd0e
/dev/wd1e
/dev/wd2e
/dev/wd3e

START layout
32 1 1 5

START queue
fifo 100
# raidctl -C /root/raid0.conf raid0
raid0: Component /dev/wd0e being configured at row: 0 col: 0
Row: 0 Column: 0 Num Rows: 0 Num Columns: 0
Version: 0 Serial Number: 0 Mod Counter: 0
Clean: No Status: 0
Number of rows do not match for: /dev/wd0e.
Number of columns do not match for: /dev/wd0e.
/dev/wd0e is not clean !
raid0: Component /dev/wd1e being configured at row: 0 col: 1
Row: 0 Column: 0 Num Rows: 0 Num Columns: 0
Version: 0 Serial Number: 0 Mod Counter: 0
Clean: No Status: 0
Column out of alignment for: /dev/wd1e.
Number of rows do not match for: /dev/wd1e.
Number of columns do not match for: /dev/wd1e.
/dev/wd1e is not clean !
raid0: Component /dev/wd2e being configured at row: 0 col: 2
Row: 0 Column: 0 Num Rows: 0 Num Columns: 0
Version: 0 Serial Number: 0 Mod Counter: 0
Clean: No Status: 0
Column out of alignment for: /dev/wd2e.
Number of rows do not match for: /dev/wd2e.
Number of columns do not match for: /dev/wd2e.
/dev/wd2e is not clean !
raid0: Component /dev/wd3e being configured at row: 0 col: 3
Row: 0 Column: 0 Num Rows: 0 Num Columns: 0
Version: 0 Serial Number: 0 Mod Counter: 0
Clean: No Status: 0
Column out of alignment for: /dev/wd3e.
Number of rows do not match for: /dev/wd3e.
Number of columns do not match for: /dev/wd3e.
/dev/wd3e is not clean !
raid0: There were fatal errors
raid0: Fatal errors being ignored.
raid0 (root)#
# raidctl -I 13579 raid0
raid0: no disk label
# raidctl -i raid0
# raidctl -s raid0
raid0: no disk label
raid0 Components:
/dev/wd0e: optimal
/dev/wd1e: optimal
/dev/wd2e: optimal
/dev/wd3e: optimal
No spares.
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
# disklabel -E /dev/raid0c
raid0: no disk label
disklabel: Can't get bios geometry: Device not configured

Initial label editor (enter '?' for help at any prompt)
> p
device: /dev/raid0c
type: RAID
disk: raid
label: fictitious
bytes/sector: 512
sectors/track: 96
tracks/cylinder: 16
sectors/cylinder: 1536
cylinders: 1953
total sectors: 2999808
free sectors: 2999808
rpm: 3600

16 partitions:
# size offset fstype [fsize bsize cpg]
c: 2999808 0 unused 0 0 # Cyl 0 - 1952
> a d
offset: [0]
size: [2999808]
FS type: [4.2BSD]
> q
Write new label?: [y]
# newfs raid0d
/dev/rraid0d: 2999808 sectors in 3906 cylinders of 8 tracks, 96 sectors
1464.8MB in 10 cyl groups (415 c/g, 155.62MB/g, 19968 i/g)
super-block backups (for fsck -b #) at:
32, 318848, 637664, 956480, 1275296, 1594112, 1912928, 2231744, 2549792,
2868608,
# raidctl -s raid0
raid0 Components:
/dev/wd0e: optimal
/dev/wd1e: optimal
/dev/wd2e: optimal
/dev/wd3e: optimal
No spares.
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
#
# raidctl -R /dev/wd3e raid0
Closing the opened device: /dev/wd3e
panic: lockmgr: pid 1545, not exclusive lock holder 12217 unlocking
Stopped at Debugger+0x4: leave

this is the point the aforementioned ps/trace are from.

Doing the same steps for a mirror, then `raidctl -R` results in this panic:

# raidctl -R /dev/wd3e raid1
Closing the opened device: /dev/wd3e
panic: lockmgr: pid 14279, not exclusive lock holder 17988 unlocking
Stopped at Debugger+0x4: leave
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
Debugger(0,37c7,0,6,d299fcb0) at Debugger+0x4
panic(d0549780,37c7,4644,0,0) at panic+0x63
lockmgr(d299fcb0,6,d299e5b0,d6db0150,0) at lockmgr+0xb3
ufs_unlock(d6dcabf4,3,6000,d6db0298,d05d8a40) at ufs_unlock+0x2c
VOP_UNLOCK(d299e530,0,d6db0150,d08ed700) at VOP_UNLOCK+0x2e
ufs_inactive(d6dcac54,d299e530,30042,d6db0298,d05d8980) at ufs_inactive+0x57
VOP_INACTIVE(d299e530,d6db0150,d6dcacbc,d028acc1,0) at VOP_INACTIVE+0x28
vput(d299e530,20002,d6db0298,0,d299fcb0) at vput+0x32
vn_close(d299e530,3,d2afb000,d6db0298) at vn_close+0x40
rf_close_component(d0900000,d299e530,0,0,0) at rf_close_component+0x3d
rf_ReconstructInPlace(d0900000,0,1,0,1) at rf_ReconstructInPlace+0x52d
rf_ReconstructInPlaceThread(d09a0800) at rf_ReconstructInPlaceThread+0x30
Bad frame pointer: 0xd075bf08
ddb> ps
PID PPID PGRP UID S FLAGS WAIT COMMAND
*14279 0 0 0 7 0x100204 raid_reconip
17828 27579 17828 0 3 0x4006 biowait raidctl
17988 0 0 0 3 0x100204 rfwcond raid1
26766 25413 26766 1000 3 0x4086 ttyin ksh
25413 23410 23410 1000 3 0x184 select sshd
23410 23417 23410 0 3 0x4184 netio sshd
27579 1 27579 0 3 0x4086 pause ksh
29653 1 29653 0 3 0x4086 ttyin getty
29254 1 29254 0 3 0x84 select cron
27655 1 27655 0 3 0x40184 select sendmail
23417 1 23417 0 3 0x84 select sshd
3857 1 3857 0 3 0x184 select inetd
8647 8980 8980 83 3 0x184 poll ntpd
8980 1 8980 0 3 0x84 poll ntpd
5926 17803 17803 73 2 0x184 syslogd
17803 1 17803 0 3 0x84 netio syslogd
13789 1 13789 77 3 0x184 poll dhclient
6432 1 14774 0 3 0x86 poll dhclient
10 0 0 0 3 0x100204 crypto_wa crypto
9 0 0 0 3 0x100204 aiodoned aiodoned
8 0 0 0 3 0x100204 syncer update
--db_more--
7 0 0 0 3 0x100204 cleaner cleaner
6 0 0 0 3 0x100204 reaper reaper
5 0 0 0 3 0x100204 pgdaemon pagedaemon
4 0 0 0 3 0x100204 pftm pfpurge
3 0 0 0 3 0x100204 apmev apm0
2 0 0 0 3 0x100204 kmalloc kmthread
1 0 1 0 3 0x4084 wait init
0 -1 0 0 3 0x80204 scheduler swapper
ddb>


Let me know if any more info is needed.


>Fix:
Unknown


>Release-Note:
>Audit-Trail:
>Unformatted:

Pedro Martelletto

unread,
Sep 14, 2005, 2:54:03 AM9/14/05
to
The following reply was made to PR kernel/4508; it has been noted by GNATS.

From: Pedro Martelletto <pe...@ambientworks.net>
To: fri...@blackant.net
Cc: gn...@openbsd.org
Subject: Re: kernel/4508: rebuilding raidframe parity causes panic
Date: Wed, 14 Sep 2005 03:42:45 -0300

Would you mind trying this diff?

-p.

Index: rf_openbsdkintf.c
===================================================================
RCS file: /cvs/src/sys/dev/raidframe/rf_openbsdkintf.c,v
retrieving revision 1.27
diff -u -r1.27 rf_openbsdkintf.c
--- rf_openbsdkintf.c 28 Nov 2004 02:47:14 -0000 1.27
+++ rf_openbsdkintf.c 14 Sep 2005 06:55:13 -0000
@@ -2603,11 +2603,12 @@

if (vp != NULL) {
if (auto_configured == 1) {
+ /* component was opened by rf_find_raid_components() */
+ VOP_UNLOCK(vp, 0, p);
VOP_CLOSE(vp, FREAD | FWRITE, NOCRED, p);
vrele(vp);
} else {
- if (VOP_ISLOCKED(vp))
- VOP_UNLOCK(vp, 0, p);
+ /* component was opened by raidlookup() */
(void) vn_close(vp, FREAD | FWRITE, p->p_ucred, p);
}
} else {

francisco

unread,
Sep 14, 2005, 10:09:53 AM9/14/05
to
The following reply was made to PR kernel/4508; it has been noted by GNATS.

From: francisco <fri...@blackant.net>
To: Pedro Martelletto <pe...@ambientworks.net>
Cc: gn...@openbsd.org
Subject: Re: kernel/4508: rebuilding raidframe parity causes panic

Date: Wed, 14 Sep 2005 09:47:17 -0400 (EDT)

On Wed, 14 Sep 2005, Pedro Martelletto wrote:

> Would you mind trying this diff?

I still get a panic. Applied patch, made new kernel, booted off new
kernel, did same raidctl steps, and get:



Closing the opened device: /dev/wd3e

panic: lockmgr: pid 9632, not exclusive lock holder 23607 unlocking


Stopped at Debugger+0x4: leave
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS
PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace

Debugger(0,25a0,0,6,d299fcb0) at Debugger+0x4
panic(d0549780,25a0,5c37,0,0) at panic+0x63
lockmgr(d299fcb0,6,d299e5b0,d6db3528,0) at lockmgr+0xb3
ufs_unlock(d6dddbf4,3,6000,d6db33e0,d05d8a40) at ufs_unlock+0x2c
VOP_UNLOCK(d299e530,0,d6db3528,d08ed700) at VOP_UNLOCK+0x2e
ufs_inactive(d6dddc54,d299e530,30042,d6db33e0,d05d8980) at
ufs_inactive+0x57
VOP_INACTIVE(d299e530,d6db3528,d6dddcbc,d028acad,0) at VOP_INACTIVE+0x28
vput(d299e530,20002,d6db33e0,0,297) at vput+0x32
vn_close(d299e530,3,d2afb000,d6db33e0) at vn_close+0x40
rf_close_component(d08ff000,d299e530,0,0,0) at rf_close_component+0x2d
rf_ReconstructInPlace(d08ff000,0,3,0,1) at rf_ReconstructInPlace+0x52d
rf_ReconstructInPlaceThread(d09a05c0) at rf_ReconstructInPlaceThread+0x30


Bad frame pointer: 0xd075bf08
ddb> ps
PID PPID PGRP UID S FLAGS WAIT COMMAND

* 9632 0 0 0 7 0x100204 raid_reconip
7828 23020 7828 0 3 0x4006 biowait raidctl
23607 0 0 0 3 0x100204 rfwcond raid0
23020 19866 23020 0 3 0x4086 pause ksh
19866 26905 19866 1000 3 0x4086 pause ksh
26905 21138 21138 1000 3 0x184 select sshd
21138 18965 21138 0 3 0x4184 netio sshd
29475 1 29475 0 3 0x4086 ttyin getty
8655 1 8655 0 3 0x4086 ttyin getty
16764 1 16764 0 3 0x84 select cron
15033 1 15033 0 3 0x40184 select sendmail
18965 1 18965 0 3 0x84 select sshd
4112 1 4112 0 3 0x184 select inetd
24436 7068 7068 83 3 0x184 poll ntpd
7068 1 7068 0 3 0x84 poll ntpd
10952 1160 1160 73 2 0x184 syslogd
1160 1 1160 0 3 0x84 netio syslogd
25103 1 25103 77 3 0x184 poll dhclient
18608 1 17877 0 3 0x86 poll dhclient


10 0 0 0 3 0x100204 crypto_wa crypto
9 0 0 0 3 0x100204 aiodoned aiodoned
8 0 0 0 3 0x100204 syncer update
7 0 0 0 3 0x100204 cleaner cleaner
6 0 0 0 3 0x100204 reaper reaper
5 0 0 0 3 0x100204 pgdaemon pagedaemon

Pedro Martelletto

unread,
Sep 14, 2005, 1:37:49 PM9/14/05
to
The following reply was made to PR kernel/4508; it has been noted by GNATS.

From: Pedro Martelletto <pe...@ambientworks.net>
To: francisco <fri...@blackant.net>
Cc: gn...@openbsd.org
Subject: Re: kernel/4508: rebuilding raidframe parity causes panic

Date: Wed, 14 Sep 2005 14:21:39 -0300

On Wed, Sep 14, 2005 at 09:47:17AM -0400, francisco wrote:
> I still get a panic. Applied patch, made new kernel, booted off new
> kernel, did same raidctl steps, and get:
>
> Closing the opened device: /dev/wd3e
> panic: lockmgr: pid 9632, not exclusive lock holder 23607 unlocking

Thanks for testing. Can you please try this one?



-p.

Index: rf_openbsdkintf.c
===================================================================
RCS file: /cvs/src/sys/dev/raidframe/rf_openbsdkintf.c,v
retrieving revision 1.27
diff -u -r1.27 rf_openbsdkintf.c
--- rf_openbsdkintf.c 28 Nov 2004 02:47:14 -0000 1.27

+++ rf_openbsdkintf.c 14 Sep 2005 16:52:01 -0000
@@ -2596,18 +2596,15 @@
void
rf_close_component(RF_Raid_t *raidPtr, struct vnode *vp, int auto_configured)
{
- struct proc *p;
-
- if ((p = raidPtr->engine_thread) == NULL)
- p = curproc;
+ struct proc *p = curproc;



if (vp != NULL) {
if (auto_configured == 1) {

- VOP_CLOSE(vp, FREAD | FWRITE, NOCRED, p);


+ /* component was opened by rf_find_raid_components() */

+ VOP_CLOSE(vp, FREAD | FWRITE, NOCRED, NULL);

francisco

unread,
Sep 14, 2005, 4:37:48 PM9/14/05
to
The following reply was made to PR kernel/4508; it has been noted by GNATS.

From: francisco <fri...@blackant.net>
To: Pedro Martelletto <pe...@ambientworks.net>
Cc: gn...@openbsd.org
Subject: Re: kernel/4508: rebuilding raidframe parity causes panic

Date: Wed, 14 Sep 2005 16:17:29 -0400 (EDT)

On Wed, 14 Sep 2005, Pedro Martelletto wrote:

> On Wed, Sep 14, 2005 at 09:47:17AM -0400, francisco wrote:
>> I still get a panic. Applied patch, made new kernel, booted off new
>> kernel, did same raidctl steps, and get:
>>
>> Closing the opened device: /dev/wd3e
>> panic: lockmgr: pid 9632, not exclusive lock holder 23607 unlocking
>
> Thanks for testing. Can you please try this one?

This one works. I tested via raidctl -R on a raid1 mirror and a 4 disk
raid5 set, each correctly went through rebuilds.

Thanks!

-f

0 new messages