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

看板DFBSD_commit作者時間16年前 (2010/01/12 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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
文章代碼(AID): #1BJ08MZK (DFBSD_commit)