kernel - Fix improper unlock/relock sequence in HAMMER
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 23 Mar 2012 20:36:27 +0000 (13:36 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 29 Mar 2012 23:06:50 +0000 (16:06 -0700)
commit9defaf9a124970cba6a178f89c08e9e35f920145
tree1c4db9247043ece036770ae22622356563ea8de1
parentbaa5cd6591306e268f9584976300467894b78469
kernel - Fix improper unlock/relock sequence in HAMMER

* VOP_FSYNC() can be called during a vnode inactivation or reclaim.
  In this case the vnode lock absolutely cannot be released or it
  can create a window of opportunity for another thread that results
  in a panic.

* Fixes a NFS server crash when multiple clients are trying to
  delete/create/write the same file at the same time.
sys/vfs/hammer/hammer_vnops.c