hammer2 - small-embedded-data fixes, syncer fixes
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 21 Mar 2012 05:16:19 +0000 (22:16 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 21 Mar 2012 05:55:37 +0000 (22:55 -0700)
commit214f4a7748f1ce8213d0e1e2d8a18286b3037956
tree656801cd7840225338a7c66c062d375e2dede1a0
parent222d9e22c9784223b6fde9c9cfee69d2eb46c2a3
hammer2 - small-embedded-data fixes, syncer fixes

* Add a bit of a hack to try to fix an issue where the embedded data
  would sometimes not get synchronized.  Add the DIRTYEMBED flag
  and test for it in various places.

* Remove an improper call to hammer2_chain_modify() on the inode
  (the previous handling of embedded data, which was broken).

* Detect and dispose of unlinked files from vop_inactive.

* Fix some inefficiencies in the flush code.  When modifying a chain
  in order to update its blockref array hammer2_chain_modify() was
  recursively setting SUBMODIFIED upward, messing up the flush code's
  sequencing and causing it to not completely flush the topology.

* Remove some debugging.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c