git: hammer2 - flush sequencing part 3 - add snapshots

Matthew Dillon dillon at crater.dragonflybsd.org
Tue May 7 19:40:00 PDT 2013


commit a864c5d920f8c54e27c4b873076d859138af21a0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue May 7 19:32:04 2013 -0700

    hammer2 - flush sequencing part 3 - add snapshots
    
    * Basic snapshot creation currently uses a duplicate/create sequence
      to duplicate the directory being snapshotted, with caveats listed in
      the TODO.
    
      Snapshotting the mount point works as expected though work needs to be
      done on the flushing.  Snapshotting a subdirectory works with some
      issues (hardlinks which span above the parent directory will not be
      snapshotted).
    
    * Add the PFS_SNAPSHOT ioctl for writable snapshot creation.
    
    * Adjust the PFS_GET ioctl to support retrieval of the PFS specific to
      the file descriptor.
    
    * Implement PFS deletion and augment the unlink code to allow non-empty
      snapshots to be deleted.
    
    * Add restricted flushing to support flushing the snapshot concurrent to
      modifying operations occurring during the snapshot flush.  Untested.

Summary of changes:
 sys/vfs/hammer2/TODO             |   6 ++
 sys/vfs/hammer2/hammer2.h        |  13 ++-
 sys/vfs/hammer2/hammer2_chain.c  | 103 +++++++++++++++++++
 sys/vfs/hammer2/hammer2_disk.h   |   1 +
 sys/vfs/hammer2/hammer2_flush.c  | 214 ++++++++-------------------------------
 sys/vfs/hammer2/hammer2_inode.c  |   7 +-
 sys/vfs/hammer2/hammer2_ioctl.c  |  48 ++++++++-
 sys/vfs/hammer2/hammer2_ioctl.h  |   1 +
 sys/vfs/hammer2/hammer2_vfsops.c |  23 +++--
 9 files changed, 229 insertions(+), 187 deletions(-)

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


-- 
DragonFly BSD source repository


More information about the Commits mailing list