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
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(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9192654c99abc28aca5b0eda1ad94ddb65ef735d
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]