tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PUFFS fs crash freezes system
Hi
I am tracking issues with perfused where a crashed PUFFS filesystem will
freeze the machine. This happens because various processes attempt to
lock the root vnode. Example backtrace for getty:
sleepq_block
turnstile_block
rw_vector_enter
vlockmgr
ffs_lock
VOP_LOCK
vn_lock
namei
do_sys_stat
sys___stat30
syscall
Who holds the lock? Probably perfused, which is engaged in a lookup and
seems to be awaiting an answer from itself:
sleepq_block
cv_wait_sig
puffs_msg_wait
puffs_msg_wait2
puffs_vnop_inactive
VOP_INACTIVE
vclean
getcleanvnode
getnewvnode
ffs_vget
ufs_lookup
VOP_LOOKUP
lookup
sys_access
syscall
What about adding a timeout in struct puffs_msgpark and use it for
inactive operations? Returning EAGAIN from puffs_vnop_inactive seems an
easy way to work around this deadlock.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index