git: hammer2 - Refactor frontend part 11/many

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 25 15:12:44 PDT 2015


commit c603b86b77206805493fc181d3576ecd1786e056
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Jun 25 15:06:15 2015 -0700

    hammer2 - Refactor frontend part 11/many
    
    * Add XOPs for nresolve and most inode creation.  The inode creation support
      backs all inode-creation XOPs.
    
    * Remove the on-stack hammer2_trans_t structure and remove the passing
      of &trans to all modifying operations.
    
      This methodology added significant list-management overhead and isn't
      a good fit with the new frontend/backend mechanics.  The removal also
      simplifies the API for many support functions.
    
      Replace with a temporary version that embeds a single, simplified
      hammer2_trans_t in each hammer2_pfs_t.  Ultimately we will need
      to fan-out to per-node (per hammer2_mount_t) transaction control
      in a way that doesn't stall-out the frontend.

Summary of changes:
 sys/vfs/hammer2/TODO               |   4 +
 sys/vfs/hammer2/hammer2.h          | 234 +++++-----
 sys/vfs/hammer2/hammer2_bulkscan.c |  13 +-
 sys/vfs/hammer2/hammer2_chain.c    | 450 +++++++++++++++++--
 sys/vfs/hammer2/hammer2_cluster.c  | 496 +++++++++++++++++---
 sys/vfs/hammer2/hammer2_flush.c    | 355 ++++++---------
 sys/vfs/hammer2/hammer2_freemap.c  |  73 ++-
 sys/vfs/hammer2/hammer2_inode.c    | 657 ++++++---------------------
 sys/vfs/hammer2/hammer2_ioctl.c    |  77 ++--
 sys/vfs/hammer2/hammer2_strategy.c | 271 ++++++++---
 sys/vfs/hammer2/hammer2_thread.c   |  59 ++-
 sys/vfs/hammer2/hammer2_vfsops.c   |  65 ++-
 sys/vfs/hammer2/hammer2_vnops.c    | 309 ++++---------
 sys/vfs/hammer2/hammer2_xops.c     | 894 ++++++-------------------------------
 14 files changed, 1808 insertions(+), 2149 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c603b86b77206805493fc181d3576ecd1786e056


-- 
DragonFly BSD source repository



More information about the Commits mailing list