git: hammer2 - serialized flush work part 1
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Jan 31 16:28:56 PST 2013
commit 476d2aadb736b6541fd2075a1de97f9069aa5080
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Jan 30 20:53:27 2013 -0800
hammer2 - serialized flush work part 1
This is preliminary work required to support chain structure replication
for the purposes of recording modifications which are then separated by
serialization points (by transaction id). Ultimately this will allow the
flush code to flush to an exact serialization point and in the process
operate completely asynchronously from any further modifications being
made on the frontend after that serialization point.
* Separate hammer2_inode from hammer2_chain.
* Split the locking APIs for inodes and chains into their own functions.
* Move ip_data into chain->data->ipdata (kmalloc'd), instead of embedding
it in hammer2_inode. This allows the inode structure to disconnect from
the chain.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 63 ++--
sys/vfs/hammer2/hammer2_ccms.c | 20 ++
sys/vfs/hammer2/hammer2_ccms.h | 1 +
sys/vfs/hammer2/hammer2_chain.c | 102 +++---
sys/vfs/hammer2/hammer2_flush.c | 7 +
sys/vfs/hammer2/hammer2_inode.c | 664 ++++++++++++++++++++++++++-------------
sys/vfs/hammer2/hammer2_ioctl.c | 77 +++--
sys/vfs/hammer2/hammer2_subr.c | 95 +++---
sys/vfs/hammer2/hammer2_vfsops.c | 71 +++--
sys/vfs/hammer2/hammer2_vnops.c | 361 ++++++++++++---------
10 files changed, 885 insertions(+), 576 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/476d2aadb736b6541fd2075a1de97f9069aa5080
--
DragonFly BSD source repository
More information about the Commits
mailing list