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

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jan 11 20:58:43 PST 2010


commit 47f363f1004a98606310718bed81606c44d57c71
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Jan 11 16:09:51 2010 -0800

    HAMMER VFS - REDO implementation base code part 2/many
    
    * Move hammer_generate_redo() to its own source file, hammer_redo.c
    
    * Fix bug in the REDO generation.  The tail type was not set the same
      as the head type and caused recoveries to fail.
    
    * Flesh out the REDO sequencing by adding REDO_TERM_* records during the
      meta-data flush, allowing REDO_WRITEs and REDO_TRUNCs to be matched
      against REDO_TERM_WRITEs and REDO_TERM_TRUNCs.
    
    * Interlock the writing of the root volume in the flusher.  Frontend
      code modifies the root volume when generating REDO records and
      can collide with the flusher.

Summary of changes:
 sys/conf/files                  |    1 +
 sys/vfs/hammer/Makefile         |    1 +
 sys/vfs/hammer/hammer.h         |   19 +++-
 sys/vfs/hammer/hammer_disk.h    |   48 +++++++-
 sys/vfs/hammer/hammer_flusher.c |   14 ++
 sys/vfs/hammer/hammer_inode.c   |   49 ++++++-
 sys/vfs/hammer/hammer_redo.c    |  270 +++++++++++++++++++++++++++++++++++++++
 sys/vfs/hammer/hammer_undo.c    |  220 ++-----------------------------
 sys/vfs/hammer/hammer_vnops.c   |   94 ++++++++++----
 9 files changed, 476 insertions(+), 240 deletions(-)
 create mode 100644 sys/vfs/hammer/hammer_redo.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/47f363f1004a98606310718bed81606c44d57c71


-- 
DragonFly BSD source repository





More information about the Commits mailing list