git: HAMMER VFS - REDO implementation base code part 3/many

Matthew Dillon dillon at
Mon Jan 11 20:58:42 PST 2010

commit 73896937a65b2ad6b84128ce92d0b0d748cb4a14
Author: Matthew Dillon <dillon at>
Date:   Mon Jan 11 20:46:08 2010 -0800

    HAMMER VFS - REDO implementation base code part 3/many
    * Track the oldest potentially uncommitted UNDO/REDO FIFO offset
      on an inode-by-inode basis and use a red-black tree to find
      the aggregate oldest offset.
    * If REDOs are present generate a REDO SYNC entry in the UNDO/REDO FIFO
      within the recovery span which indicates to the recovery code how
      far out of the span it must go to process REDOs.
    * Fix a bug in hammer_generate_redo() where the REDO would not be
      generated if the data length was 0 (SYNC records use a data length
      of 0 as a degenerate case).
    * Print the REDO SYNC entries on the console if bit 2 is set in
      vfs.hammer.debug_io (0x04).
    * NOTE: The recovery code does not yet process REDOs.

Summary of changes:
 sys/vfs/hammer/hammer.h        |   21 +++++++++
 sys/vfs/hammer/hammer_inode.c  |   19 ++++++++-
 sys/vfs/hammer/hammer_redo.c   |   95 +++++++++++++++++++++++++++++++++++++---
 sys/vfs/hammer/hammer_vfsops.c |    1 +
 4 files changed, 128 insertions(+), 8 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list