misc/147903: Kernel panics on faulty zfs device

Michiel Leenaars michiel.ml at nlnet.nl
Wed Jun 16 11:40:02 UTC 2010


>Number:         147903
>Category:       misc
>Synopsis:       Kernel panics on faulty zfs device
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 16 11:40:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Michiel Leenaars
>Release:        8.0-RELEASE-p3
>Organization:
-
>Environment:
FreeBSD hostname 8.0-RELEASE-p3 FreeBSD 8.0-RELEASE-p3 #0: Tue May 25 20:54:11 UTC 2010     root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
Hi there,

one of the four drives in my desktop machine attached to a zpool has apparently something corrupted. Whenever I boot with that (external) disk attached, my machine crashes with a panic and reboots. It took some time to find out that when I unplugged that particular drive, I am able to boot the system, the zpool is not online then. When I replug the (usb) drive back in, it keeps on connecting and disconnecting - repeating this message: 

umass0:0:0:-1: Attached to scbus0
ugen4.2: <LaCie> at usbus4 (disconnected)
umass0: at uhub4, port 5, addr 2 (disconnected)
ugen4.2: <LaCie> at usbus4
umass0: <Bulk Only Interface> on usbus4
umass0:  SCSI over Bulk-Only; quirks = 0x0000

When I run zpool status obviously it gives that it cannot open that disk:

  pool: tank
 state: UNAVAIL
status: One or more devices could not be opened.  There are insufficient
        replicas for the pool to continue functioning.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-3C
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        UNAVAIL      0     0     0  insufficient replicas
          ad6       ONLINE       0     0     0
          ad10      ONLINE       0     0     0
          ad12      ONLINE       0     0     0
          da0       UNAVAIL      0     0     0  cannot open

The first when I cleared the errors and had the disk plugged in

$ zpool clear tank da0

zfs tried to get the device online and the system rebooted. Meanwhile, some more damage occurred, because somehow I don't have sufficient rights to clear the zpool errors - even though I am logged in as root. 

cannot clear errors for tank: permission denied

So there seem to be two issues: first is an zfs error handling issue that somehow manages to crash the system. The second is the lock out for the superuser to reattach a device (hopefully for resilvering). 

>How-To-Repeat:
Well, my system does it every time I reboot with this hard drive attached, but I'm not sure how other could reproduce it.
>Fix:


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


More information about the freebsd-bugs mailing list