hammer2 - Stabilization pass
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 28 May 2015 05:26:42 +0000 (22:26 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 28 May 2015 05:26:42 +0000 (22:26 -0700)
commit0057d3b85eefbd3e0309a08a0a41f2e438f3bf9b
treec87fe2c0b4abb87a8b82d2fb4b873d165c247f22
parent29cbd7e5bb57f35203ae0be16d2b01dfdc4d59b0
hammer2 - Stabilization pass

* Fix numerous deadlocks in syncthr.

* Fix startup issue in syncthr, elements in the initial iroot cluster
  were being marked INVALID for the syncthr.  This is what we want for
  front-end operations, but not for the syncthr.  The flag was preventing
  syncthr from properly synchronizing sub-trees.

* Fix a chain leak in syncthr which was leaving referenced chains sitting
  around on unmount.

* Do not repoint iroot elements in syncthr.  The iroot elements already
  exist and will not be created or destroyed, so no repointing should be
  necessary.

* Fix improper freemap indirect block size in hammer2_chain_create_indirect().

* Fix pmp->inode_tid assignment.  Inode number assignments are now handled
  on a per-PFS basis.

* Use the data_count and inode_count statistics to fill out statfs and
  statvfs.

* Use the data_count statistics to fill out vap->va_bytes for normal stat().

* Cleanups
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_cluster.c
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_syncthr.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c