kernel - Fix a rare nfsnode destruction race
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 21 Apr 2011 09:23:49 +0000 (02:23 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 21 Apr 2011 17:22:06 +0000 (10:22 -0700)
commitd89ccb3cb2caa68f891a7d6825288e584e01b0a8
tree898ef39f8c8d77b9a5f6edc0677526e6ef70abea
parent5fc7c2b32b0ed799dd4399fb7be0079568382f0e
kernel - Fix a rare nfsnode destruction race

* Clear np->n_vnode atomically (w/ the token held) when removing a
  node from the hash table.  The field was previously not being
  cleared at all which could race the nfsnhash lookup code despite
  the vnode interlock and check the lookup code was performing.

* Remove unnecessary tokens around the remaining nfsnode freeing code
  in the reclaim path.
sys/vfs/nfs/nfs_node.c