[sheepdog] [PATCH 0/5] tools for upgrading from 0.7.x (or 0.8.y) to 0.9.z

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Sun Jul 12 07:54:27 CEST 2015


This patchset adds a tools for upgrading upgrading from 0.7.x (or
0.8.y) to 0.9.z. The most important difference between the versions is
change to the inode format and the object placement strategy. Because
of the change, upgrading with -u option cannot be provided (at least
currently).

1st to 3rd patch adds a new commands under "dog upgrade". They convert
old formats of inode, epoch, and config files to the latest one. 4th
patch adds a new command for printing a location of an object under
latest object placement policy. 5th patch adds a new recovery strategy
"wildcard" to sheep with -W option. With the new strategy, sheep
searches objects from entire clusters. Therefore, it can handle the
difference of object placement policies.

CAUTION: this patches cannot support snapshots, clones, and erasure
coded VDIs.

Hitoshi Mitake (5):
  dog: a new command "dog upgrade" for various upgrading tools
  dog: upgrade command for epoch log file
  dog: upgrade command for config file
  dog: upgrade command for print location under the latest placement
    strategy
  sheep: wildcard recovery strategy

 dog/Makefile.am           |   3 +-
 dog/dog.c                 |   1 +
 dog/dog.h                 |   1 +
 dog/upgrade.c             | 491 ++++++++++++++++++++++++++++++++++++++++++++++
 include/internal_proto.h  |  26 +++
 include/sheep.h           |  15 ++
 include/sheepdog_proto.h  |  48 +++++
 sheep/config.c            |  15 +-
 sheep/group.c             |  18 +-
 sheep/ops.c               |   5 +-
 sheep/recovery.c          |  68 ++++++-
 sheep/sheep.c             |   4 +
 sheep/sheep_priv.h        |   6 +-
 sheep/store/md.c          |   2 +-
 sheep/store/plain_store.c |   5 +-
 15 files changed, 678 insertions(+), 30 deletions(-)
 create mode 100644 dog/upgrade.c

-- 
1.9.1



More information about the sheepdog mailing list