git: hammer2 - Refactor flush mechanics

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Feb 25 14:48:14 PST 2014


commit 8138a154be31c3db1d8bd046ca7b003a6c79c01c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Feb 18 23:20:34 2014 -0800

    hammer2 - Refactor flush mechanics
    
    * Greatly simplify and reduce special cases in the flush code
    
    * Remove the multi-layer rbtree and replace with two discrete rbtree's
      (rbtree and dbtree) representing the live state and one linked list (dbq)
      representing set-aside deleted chains that are not part of the live state.
    
    * Cleanup some debugging junk, add more debugging junk.
    
    * Separate flushing state flags and TIDs into their own fields instead of
      trying to use the live state flags and bref TIDs.
    
    * Simplify transaction TID tracking.

Summary of changes:
 sys/vfs/hammer2/donew             |    5 -
 sys/vfs/hammer2/donew2            |    5 -
 sys/vfs/hammer2/dossd             |   11 -
 sys/vfs/hammer2/dossd2            |   11 -
 sys/vfs/hammer2/dotest            |   11 -
 sys/vfs/hammer2/hammer2.h         |  113 +--
 sys/vfs/hammer2/hammer2_ccms.c    |    2 +-
 sys/vfs/hammer2/hammer2_ccms.h    |    2 +-
 sys/vfs/hammer2/hammer2_chain.c   |  926 ++++++++++-----------
 sys/vfs/hammer2/hammer2_disk.h    |    2 +-
 sys/vfs/hammer2/hammer2_flush.c   | 1662 +++++++++++++++++--------------------
 sys/vfs/hammer2/hammer2_freemap.c |   20 +-
 sys/vfs/hammer2/hammer2_inode.c   |    8 +-
 sys/vfs/hammer2/hammer2_io.c      |    2 +-
 sys/vfs/hammer2/hammer2_ioctl.c   |    2 +-
 sys/vfs/hammer2/hammer2_ioctl.h   |    2 +-
 sys/vfs/hammer2/hammer2_mount.h   |    2 +-
 sys/vfs/hammer2/hammer2_msgops.c  |    2 +-
 sys/vfs/hammer2/hammer2_subr.c    |    2 +-
 sys/vfs/hammer2/hammer2_vfsops.c  |   97 ++-
 sys/vfs/hammer2/hammer2_vnops.c   |   18 +-
 sys/vfs/hammer2/mkvntest          |   10 -
 22 files changed, 1339 insertions(+), 1576 deletions(-)
 delete mode 100755 sys/vfs/hammer2/donew
 delete mode 100755 sys/vfs/hammer2/donew2
 delete mode 100755 sys/vfs/hammer2/dossd
 delete mode 100755 sys/vfs/hammer2/dossd2
 delete mode 100755 sys/vfs/hammer2/dotest
 delete mode 100755 sys/vfs/hammer2/mkvntest

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8138a154be31c3db1d8bd046ca7b003a6c79c01c


-- 
DragonFly BSD source repository



More information about the Commits mailing list