kernel - sysref - Fix vnode interlock for 1->0 transition
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 11 Feb 2010 20:38:10 +0000 (12:38 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 11 Feb 2010 20:38:10 +0000 (12:38 -0800)
commite654922c869be2609aefdb087a028c991681b1fa
tree0755ea589efe2f6999a5a6bc72b67ac2587a8e5c
parent27eff55e11e6c39c26ad456215e4137f7218fc8e
kernel - sysref - Fix vnode interlock for 1->0 transition

* When the vnode refcount drops to 0 vnode_terminate() is called.  This
  function previously acquired the vx_lock() after the 1->0 transition.

  Instead integrate the acquisition of the vx_lock() into the 1->0
  transition to close a small MP race.
sys/kern/kern_sysref.c
sys/kern/vfs_lock.c
sys/sys/sysref.h
sys/vfs/devfs/devfs_core.c
sys/vm/vm_map.c