kern/159595: gmirror unload
Christian Oaksford
coaksford at gmail.com
Mon Aug 8 07:50:11 UTC 2011
>Number: 159595
>Category: kern
>Synopsis: gmirror unload
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 08 07:50:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Christian Oaksford
>Release: 9.0-BETA1
>Organization:
>Environment:
FreeBSD fbsdvm 9.0-BETA1 FreeBSD 9.0-BETA1 #0: Thu Jul 28 17:15:31 UTC 2011 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Testing in VirtualBox 4.1.0 because I do not have hardware to dedicate to testing this.
If you "gmirror unload" while you have an active mirror on 9.0-BETA1, it causes a panic. On 8.2-RC2, it tells you the device is busy. This seems to be the better behavior. gstripe does not show this behavior that gmirror does.
>From the VM on which this works:
fbsd-vm# uname -a
FreeBSD fbsd-vm.rchist.net 8.2-RC2 FreeBSD 8.2-RC2 #0: Wed Jan 12 17:02:35 UTC 2011 root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
fbsd-vm# gmirror label data ad4 ad6
fbsd-vm# gmirror load
GEOM_MIRROR: Device mirror/data launched (2/2).
fbsd-vm# gmirror unload
gmirror: Could not unload module: Device busy.
>From the VM on which this breaks:
fbsdvm# uname -a
FreeBSD fbsdvm 9.0-BETA1 FreeBSD 9.0-BETA1 #0: Thu Jul 28 17:15:31 UTC 2011 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
fbsdvm# gmirror label data ada1 ada2
fbsdvm# gmirror load
GEOM_MIRROR: Device mirror/data launched (2/2).
fbsdvm# gmirror unload
System call kldunload returning with one of the following locks held:
exclusive sx kernel linker (kernel linker) r = 0 (0xffffffff81119a80) locked @ /usr/src/sys/kern/kern_linker.c:1082
panic: witness_warn
cpuid = 0
KDB enter: panic
[ thread pid 1058 tid 100071 ]
Stopped at kdb_enter+0x3b: movq $0,0x912272(%rip)
db>
>How-To-Repeat:
"gmirror label" two disks. Then "gmirror load" to get the mirror in operation, then "gmirror unload", on 9.0-BETA1.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list