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

git: hammer2 hammer2 - Wire-up the kernel<->userland messaging pipe


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 8 Jun 2012 22:11:53 -0700 (PDT)

commit bfc3a7b1a6cc1c380d88b1a095076132618294d7
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Fri Jun 8 22:03:48 2012 -0700

    hammer2 - Wire-up the kernel<->userland messaging pipe
    
    This commit starts coding up the cluster controller messaging
    infrastructure.  The cluster controller is a userland program
    typically running on the same machine (but doesn't have to be).
    
    The controller will be able to act in several capacities ranging
    from simple remote mounts with no local storage to mirroring setups,
    master/slave setups, and ultimately quorum setups.  Since communication
    is over a socket it will eventually be possible to implement a
    diskless hammer2 root mount without the need for a local controller.
    
    The VFS only talks over one socket, so in quorum or multi-connection
    setups the local cluster controller will deal with the complexity of
    managing multiple connections and the hammer2 VFS messaging interface
    remains simple.
    
    The hammer2 VFS will also use this interface to request cache state
    grants and, being a two-way protocol, the other end can request cache
    state invalidations or downgrades.
    
    * hammer2_mount now starts 'hammer2 service', connects to it via a socket,
      and passes the socket descriptor to the mount().
    
    * The hammer2 VFS now refs the passed-in file pointer and starts a reader
      and writer thread to manage it.  The code does not yet process actual
      messages.

Summary of changes:
 sbin/mount_hammer2/mount_hammer2.c |   77 ++++++++++++++++++++++++++++-
 sys/vfs/hammer2/hammer2.h          |    9 +++-
 sys/vfs/hammer2/hammer2_mount.h    |    2 +-
 sys/vfs/hammer2/hammer2_vfsops.c   |   98 ++++++++++++++++++++++++++++++++++-
 4 files changed, 180 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bfc3a7b1a6cc1c380d88b1a095076132618294d7


-- 
DragonFly BSD source repository



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