git: hammer2 - Stabilization pass

Matthew Dillon dillon at
Fri Mar 7 13:59:09 PST 2014

commit 72ebfa75f3003ec60b55c850545bb5cd151dbb51
Author: Matthew Dillon <dillon at>
Date:   Fri Mar 7 13:54:00 2014 -0800

    hammer2 - Stabilization pass
    * Fix case in hammer2_chain_delete_duplicate(), allow delete-duplication
      of a deleted terminal chain outside of a flush.
    * Fix assertions in the flush code.  Deleted parent's block tables are not
      updated.  If all parents are deleted we allow the CHAIN_DELETED flag to
      be cleared in children even though the children might still be on the
      DBTREE or be flagged BMAPPED.
    * Fix bug in hammer2_bioq_sync() where new logical buffers instantiated while
      flushing existing buffers are not waited for before exiting the PREFLUSH
      state.  This might not actually be a bug but cover the case for now.

Summary of changes:
 sys/vfs/hammer2/TODO             |  4 ++++
 sys/vfs/hammer2/hammer2_chain.c  | 37 +++++++++++++++++++++++++++----------
 sys/vfs/hammer2/hammer2_flush.c  |  7 +++++--
 sys/vfs/hammer2/hammer2_inode.c  |  1 +
 sys/vfs/hammer2/hammer2_vfsops.c | 16 ++++++++--------
 5 files changed, 45 insertions(+), 20 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list