HAMMER - new hammer_lock code, fix mplock bug in last commit, mpsafe getattr.
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 14 Jul 2009 07:14:12 +0000 (00:14 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 14 Jul 2009 07:14:12 +0000 (00:14 -0700)
commit899eb297501681913674633aa0823adb6809437c
tree732a53a937f560b6dc9d8e0033b0f36d734eb477
parent2577f1d27ba8daa91e386ac0ffb4ff08eb003084
HAMMER - new hammer_lock code, fix mplock bug in last commit, mpsafe getattr.

* Fix a mplock bug in the last commit that can cause a panic in hammer_read.
  The mplock check code wasn't setting up the hammer transaction properly.

* VMP_GETATTR is now set on all HAMMER vnodes.  If sysctl vfs.getattr_mpsafe=1
  all fstat() operations will run without the MP lock.

* Rewrite HAMMER's lock code, making it MPSAFE.  The new lock code uses
  atomic_cmpset_int().
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_subs.c
sys/vfs/hammer/hammer_vnops.c