filesystem deadlock, process in vodead state
Robert Schulze
rs at bytecamp.net
Thu Nov 19 09:41:14 UTC 2015
Hi,
on an SSD-only mirrored pool which was idle for about 30 days, I noticed
a stuck chksetuid run from periodic. The "find" process is stuck on
vodead state.
I found out which directory is affected via procstat -f and tried to ls
it, now this ls is stuck in above state, too (no surprise).
procstat -kk output is:
1816 102485 find - mi_switch+0xe1
sleepq_wait+0x3a _sleep+0x287 vnode_create_vobject+0x100
zfs_freebsd_open+0xf5 VOP_OPEN_APV+0xa1 vn_open_vnode+0x234
vn_open_cred+0x33e kern_openat+0x26f amd64_syscall+0x33a Xfast_syscall+0xfb
71376 102400 ls - mi_switch+0xe1
sleepq_wait+0x3a _sleep+0x287 vnode_create_vobject+0x100
zfs_freebsd_open+0xf5 VOP_OPEN_APV+0xa1 vn_open_vnode+0x234
vn_open_cred+0x33e kern_openat+0x26f amd64_syscall+0x33a Xfast_syscall+0xfb
The processes are not killable.
So what is this state and how to fix the deadlocked filesystem? I'm able
to give any debugging information, just give me some pointers.
# uname: FreeBSD 10.2-RELEASE-p5 #1 r289218
# zpool status
pool: home
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
home ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/mirror0-a ONLINE 0 0 0
gpt/mirror0-b ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
gpt/mirror1-a ONLINE 0 0 0
gpt/mirror1-b ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
gpt/mirror2-a ONLINE 0 0 0
gpt/mirror2-b ONLINE 0 0 0
mirror-3 ONLINE 0 0 0
gpt/mirror3-a ONLINE 0 0 0
gpt/mirror3-b ONLINE 0 0 0
errors: No known data errors
with kind regards,
Robert Schulze
More information about the freebsd-fs
mailing list