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