Fix a low-memory deadlock in the VM system which can occur on systems
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 30 Jun 2008 03:57:41 +0000 (03:57 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 30 Jun 2008 03:57:41 +0000 (03:57 +0000)
commitf043c4c79ceeda55239cae3d41752cf4c324d039
treecb822656f22d68ce2b893399a2856208d381c321
parent45d2b1d8883e5f629c92f3895f3b15f8c73dfa9d
Fix a low-memory deadlock in the VM system which can occur on systems
with small amounts of system memory.  The pageout daemon uses LK_TIMELOCK
to avoid deadlocking on a vnode so it can continue operation.  This only
works if lk_timo is non-zero, but all filesystems initialize their vnodes
with a timeout of zero so the feature is defeated.  Adjust allocvnode()
to guarantee that lk_timo is never zero.
sys/kern/vfs_lock.c