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