This patchset implements a new feature: deep copied snapshot. In a case of long living, periodically snapshotted VDIs, it is difficult to collect garbage inodes because the case can produce a large family of VDIs.
This patch adds a new option --no-share (like vdi cloning) to dog vdi snapshot. With this option, users can create a new working VDI which doesn't have parent. The 3rd patch adds another option --fast-deep-copy. The purpose of the option is avoiding dog process bottleneck. The same thing can be found here: https://github.com/sheepdog/sheepdog/tree/no-share-snapshot Hitoshi Mitake (3): sheep, dog: support deepcopy snapshot tests/functional: add a test for deep copied snapshots sheep, dog: fast deep copy for snapshot dog/dog.h | 3 +- dog/farm/farm.c | 2 +- dog/vdi.c | 189 ++++++++++++++++++++++++++++++++++++++---- include/internal_proto.h | 1 + include/sheepdog_proto.h | 7 +- sheep/ops.c | 17 ++++ sheep/sheep_priv.h | 2 + sheep/vdi.c | 212 ++++++++++++++++++++++++++++++++++++++++++++++- tests/functional/100 | 50 +++++++++++ tests/functional/100.out | 39 +++++++++ tests/functional/group | 1 + 11 files changed, 500 insertions(+), 23 deletions(-) create mode 100755 tests/functional/100 create mode 100644 tests/functional/100.out -- 1.9.1 -- sheepdog mailing list [email protected] https://lists.wpkg.org/mailman/listinfo/sheepdog
