git: hammer2 hammer2 - small-embedded-data fixes, syncer fixes

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Mar 20 22:57:37 PDT 2012


commit 214f4a7748f1ce8213d0e1e2d8a18286b3037956
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Mar 20 22:16:19 2012 -0700

    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.

Summary of changes:
 sys/vfs/hammer2/hammer2.h        |    5 ++-
 sys/vfs/hammer2/hammer2_chain.c  |   34 ++++++++++++++++++------
 sys/vfs/hammer2/hammer2_inode.c  |    4 +-
 sys/vfs/hammer2/hammer2_vfsops.c |   21 ++++++++++-----
 sys/vfs/hammer2/hammer2_vnops.c  |   53 ++++++++++++++++++++++++++++++++-----
 5 files changed, 89 insertions(+), 28 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/214f4a7748f1ce8213d0e1e2d8a18286b3037956


-- 
DragonFly BSD source repository





More information about the Commits mailing list