git: hammer2 - Refactor flush mechanics
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Feb 25 14:48:14 PST 2014
commit 8138a154be31c3db1d8bd046ca7b003a6c79c01c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Tue Feb 18 23:20:34 2014 -0800
hammer2 - Refactor flush mechanics
* Greatly simplify and reduce special cases in the flush code
* Remove the multi-layer rbtree and replace with two discrete rbtree's
(rbtree and dbtree) representing the live state and one linked list (dbq)
representing set-aside deleted chains that are not part of the live state.
* Cleanup some debugging junk, add more debugging junk.
* Separate flushing state flags and TIDs into their own fields instead of
trying to use the live state flags and bref TIDs.
* Simplify transaction TID tracking.
Summary of changes:
sys/vfs/hammer2/donew | 5 -
sys/vfs/hammer2/donew2 | 5 -
sys/vfs/hammer2/dossd | 11 -
sys/vfs/hammer2/dossd2 | 11 -
sys/vfs/hammer2/dotest | 11 -
sys/vfs/hammer2/hammer2.h | 113 +--
sys/vfs/hammer2/hammer2_ccms.c | 2 +-
sys/vfs/hammer2/hammer2_ccms.h | 2 +-
sys/vfs/hammer2/hammer2_chain.c | 926 ++++++++++-----------
sys/vfs/hammer2/hammer2_disk.h | 2 +-
sys/vfs/hammer2/hammer2_flush.c | 1662 +++++++++++++++++--------------------
sys/vfs/hammer2/hammer2_freemap.c | 20 +-
sys/vfs/hammer2/hammer2_inode.c | 8 +-
sys/vfs/hammer2/hammer2_io.c | 2 +-
sys/vfs/hammer2/hammer2_ioctl.c | 2 +-
sys/vfs/hammer2/hammer2_ioctl.h | 2 +-
sys/vfs/hammer2/hammer2_mount.h | 2 +-
sys/vfs/hammer2/hammer2_msgops.c | 2 +-
sys/vfs/hammer2/hammer2_subr.c | 2 +-
sys/vfs/hammer2/hammer2_vfsops.c | 97 ++-
sys/vfs/hammer2/hammer2_vnops.c | 18 +-
sys/vfs/hammer2/mkvntest | 10 -
22 files changed, 1339 insertions(+), 1576 deletions(-)
delete mode 100755 sys/vfs/hammer2/donew
delete mode 100755 sys/vfs/hammer2/donew2
delete mode 100755 sys/vfs/hammer2/dossd
delete mode 100755 sys/vfs/hammer2/dossd2
delete mode 100755 sys/vfs/hammer2/dotest
delete mode 100755 sys/vfs/hammer2/mkvntest
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8138a154be31c3db1d8bd046ca7b003a6c79c01c
--
DragonFly BSD source repository
More information about the Commits
mailing list