DragonFly BSD
DragonFly commits List (threaded) for 2010-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 11 Jan 2010 20:57:26 -0800 (PST)

commit 9192654c99abc28aca5b0eda1ad94ddb65ef735d
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sat Jan 9 20:03:06 2010 -0800

    HAMMER VFS - REDO implementation base code part 1/many
    * Implement basic REDO record writing and fsync heuristic in order to
      test operation and performance.  Note that the recovery code is not
      implemented as of this commit and additional REDO records will probably
      have to be written to manage the span.
      There was no easy way to place all REDOs in a single UNDO/REDO FIFO span
      because the span is not known until the inode's meta-data is actually
      flushed.  We can control the flush to ensure that all required REDOs
      are present in the UNDO/REDO FIFO.  So what we will likely do is track
      the span with additional REDO records.
    * Redo vfs.hammmer.fsync_mode:
    	0	REDO disabled, synchronous fsync semantics	(default)
    	1	REDO disabled, asynchronous fsync semantics
    	2	REDO enabled, synchronous  (uses disk sync command)
    	3	REDO enabled, asynchronous (no disk sync command)
    	4	fsync is ignored
    * Refactor hammer_flusher_flush_undos()
    * Default operation is to disable the new features as they are not
      finished yet.

Summary of changes:
 sys/vfs/hammer/hammer.h         |   25 +++++++++--
 sys/vfs/hammer/hammer_flusher.c |   18 ++++---
 sys/vfs/hammer/hammer_inode.c   |   24 ++++++++--
 sys/vfs/hammer/hammer_vnops.c   |   91 +++++++++++++++++++++++++++++++-------
 4 files changed, 123 insertions(+), 35 deletions(-)


DragonFly BSD source repository

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]