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

git: hammer2 - serialized flush work part 1


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 31 Jan 2013 16:28:56 -0800 (PST)

commit 476d2aadb736b6541fd2075a1de97f9069aa5080
Author: Matthew Dillon <dillon@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



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