git: hammer2 - Starting refactoring PFS management in mount

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Mar 28 00:00:40 PDT 2015


commit 506bd6d145b6429947d572e34575b4a2a864193c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Mar 27 22:51:17 2015 -0700

    hammer2 - Starting refactoring PFS management in mount
    
    * Start removing single-device shims.
    
    * Adjust data structures.  Rename hammer2_mount to hammer2_dev and
      rename hammer2_pfsmount to hammer2_pfs.  Refactor unmount.
    
    * Integrate all available PFSs when a block device is mounted and
      De-integrate related PFSs when a block device is unmounted.
    
      At least one PFS (typically @LOCAL) must be mounted from a HAMMER2 block
      device for that device's PFSs to be used.  At least for now.  We could
      eventually trigger auto-mounting via the probe code.
    
    * Add a synchronization thread abstraction for a PFS.
    
    * Normalize chain->pmp to NULL for any chain which is part of the super-root
      topology, for later sanity assertions.
    
    * The ioctl to create a PFS now adds it (delete and snapshot do not, yet).

Summary of changes:
 sys/vfs/hammer2/hammer2.h          | 227 +++++-----
 sys/vfs/hammer2/hammer2_bulkscan.c |   4 +-
 sys/vfs/hammer2/hammer2_chain.c    |  54 ++-
 sys/vfs/hammer2/hammer2_cluster.c  |  15 +-
 sys/vfs/hammer2/hammer2_disk.h     |  64 ++-
 sys/vfs/hammer2/hammer2_flush.c    |  14 +-
 sys/vfs/hammer2/hammer2_freemap.c  |  16 +-
 sys/vfs/hammer2/hammer2_inode.c    |  44 +-
 sys/vfs/hammer2/hammer2_io.c       |  16 +-
 sys/vfs/hammer2/hammer2_iocom.c    |  16 +-
 sys/vfs/hammer2/hammer2_ioctl.c    |  40 +-
 sys/vfs/hammer2/hammer2_subr.c     |   6 +-
 sys/vfs/hammer2/hammer2_vfsops.c   | 865 +++++++++++++++++++++----------------
 sys/vfs/hammer2/hammer2_vnops.c    |  22 +-
 14 files changed, 817 insertions(+), 586 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/506bd6d145b6429947d572e34575b4a2a864193c


-- 
DragonFly BSD source repository


More information about the Commits mailing list