git: hammer2 - Major restructuring, part 2/several

Matthew Dillon dillon at
Sun Apr 28 16:30:03 PDT 2013

commit d5fabb7006ddb6d88f786e86892f6f5381b584ea
Author: Matthew Dillon <dillon at>
Date:   Sun Apr 28 16:24:56 2013 -0700

    hammer2 - Major restructuring, part 2/several
    * Stabilization pass on hammer2_inode_connect() and
      hammer2_hardlink_consolidate().  Adjust the API to accomodate
      requirements (primarily that the caller is responsible for holding
      the inode locked and for replacing ip->chain).
    * Add hammer2_inode_repoint() to handle the guts of replacing ip->chain.
    * Flush code shouldn't be messing the chain->bref when deleting the chain
      as the chain may be used in a duplication operation after the call.
    * basic rm/mv/ln operations now work (note: we still need to code the
      reparenting of sub-chains based on chain->duplink, and hardlinks are
      still buggy when parent directories get renamed).

Summary of changes:
 sys/vfs/hammer2/hammer2.h       |   2 +-
 sys/vfs/hammer2/hammer2_flush.c |  13 +++--
 sys/vfs/hammer2/hammer2_inode.c | 102 +++++++++++++++++++++++++++-------------
 sys/vfs/hammer2/hammer2_subr.c  |   3 ++
 sys/vfs/hammer2/hammer2_vnops.c |  28 +++++------
 5 files changed, 96 insertions(+), 52 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list