[sheepdog] [PATCH v2 0/4] deep copied snapshot

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Mon Jan 19 11:28:50 CET 2015


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

v2:
 - correct detection of deep copy completion
 - add a test case for --fast-deep-copy option (4th patch)

Hitoshi Mitake (4):
  sheep, dog: support deepcopy snapshot
  tests/functional: add a test for deep copied snapshots
  sheep, dog: fast deep copy for snapshot
  tests/functional: add a new test for checking fast deep copied
    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              | 211 ++++++++++++++++++++++++++++++++++++++++++++++-
 tests/functional/100     |  50 +++++++++++
 tests/functional/100.out |  39 +++++++++
 tests/functional/101     |  26 ++++++
 tests/functional/101.out |  16 ++++
 tests/functional/group   |   2 +
 13 files changed, 542 insertions(+), 23 deletions(-)
 create mode 100755 tests/functional/100
 create mode 100644 tests/functional/100.out
 create mode 100755 tests/functional/101
 create mode 100644 tests/functional/101.out

-- 
1.9.1




More information about the sheepdog mailing list