git: hammer2 - Stabilization pass

Matthew Dillon dillon at crater.dragonflybsd.org
Wed May 27 22:33:17 PDT 2015


commit 0057d3b85eefbd3e0309a08a0a41f2e438f3bf9b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed May 27 22:26:42 2015 -0700

    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

Summary of changes:
 sys/vfs/hammer2/hammer2.h         |  2 +-
 sys/vfs/hammer2/hammer2_chain.c   | 18 ++++++++--
 sys/vfs/hammer2/hammer2_cluster.c | 16 +++++++++
 sys/vfs/hammer2/hammer2_flush.c   |  2 --
 sys/vfs/hammer2/hammer2_inode.c   | 19 +++++++----
 sys/vfs/hammer2/hammer2_syncthr.c | 71 +++++++++++++++++++++++++++++++++++++--
 sys/vfs/hammer2/hammer2_vfsops.c  | 41 ++++++++++++++--------
 sys/vfs/hammer2/hammer2_vnops.c   |  4 ++-
 8 files changed, 144 insertions(+), 29 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0057d3b85eefbd3e0309a08a0a41f2e438f3bf9b


-- 
DragonFly BSD source repository


More information about the Commits mailing list