kern/142563: ioctl freeze in zpool
Alt
wtfcrap at mail.ru
Sun Jan 10 08:30:05 UTC 2010
>Number: 142563
>Category: kern
>Synopsis: ioctl freeze in zpool
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Jan 10 08:30:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Alt
>Release: 9-CURRENT
>Organization:
>Environment:
FreeBSD 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r201894: Sun Jan 10 01:53:08 MSK 2010 root@:/usr/obj/root/current/sys/GENERIC i386
>Description:
zfs's zpool utility freezes on ioctl call on rare situtions:
# zpool status
Jan 10 10:16:33 root: ZFS: vdev failure, zpool=test type=vdev.bad_label
Jan 10 10:16:33 root: ZFS: vdev failure, zpool=test type=vdev.bad_label
Issue leads to zfs pools become uncontrollable, since zpool's commands status,import,export,destroy not working now. I tried to trackdown issue - it leads to kernel ioctl call (i dont have any experience with kernel dev):
(gdb) disas
Dump of assembler code for function ioctl:
0x2828a740 <ioctl+0>: mov $0x36,%eax
0x2828a745 <ioctl+5>: int $0x80
0x2828a747 <ioctl+7>: jb 0x2828a72c <select+12>
0x2828a749 <ioctl+9>: ret
0x2828a74a <ioctl+10>: nop
0x2828a74b <ioctl+11>: nop
0x2828a74c <ioctl+12>: push %ebx
0x2828a74d <ioctl+13>: call 0x2828a752 <ioctl+18>
0x2828a752 <ioctl+18>: pop %ebx
0x2828a753 <ioctl+19>: add $0x15b36,%ebx
0x2828a759 <ioctl+25>: jmp 0x2817fc14 <_init+3940>
0x2828a75e <ioctl+30>: mov %esi,%esi
End of assembler dump.
(gdb) stepi
0x2828a745 3 RSYSCALL(ioctl)
(gdb)
Jan 10 10:16:33 root: ZFS: vdev failure, zpool=test type=vdev.bad_label
Jan 10 10:16:33 root: ZFS: vdev failure, zpool=test type=vdev.bad_label
(now its freezed and dont react ctrl-c, sigterm, sigkill - any signals)
>How-To-Repeat:
Make zfs raidz1 with 4+ disks.
Shutdown system. Replace 1 disk with new one and remove other. So, we removed 2 disks from pool and its broken. Boot and command `zpool status` - it freezes. Need to say it take effect with other commands: import/export/destroy, so actually pools become uncontrollable..
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list