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

git: hammer2 - flush sequencing part 3 - add snapshots


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 7 May 2013 19:40:00 -0700 (PDT)

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



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