hammer2 - Revamp snapshot code
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 1 Oct 2013 00:40:40 +0000 (17:40 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 1 Oct 2013 00:40:40 +0000 (17:40 -0700)
commit9b6b3df4feb5e8056cf5a14f5a8e498f86c1a10e
tree9bee07edb2e0f89853a53a2ef2fab5d84af02d7d
parent7bed8d7ea59c2d7092f0f8d8bb187f54f34d5045
hammer2 - Revamp snapshot code

* Change the snapshot code to not use chain_duplicate().  Instead
  get the thing working by flushing the original sub-tree, creating
  a new directory under the super-root, and then simply copying the
  blockset.

  The previous code called chain_duplicate() to create the snapshot
  but the coding still required a flush.  Doing it without a flush
  is possible for a read-only snapshot but very difficult otherwise.

* This will simplify coding down the line.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_ioctl.c
sys/vfs/hammer2/hammer2_vfsops.c