[sheepdog] [sheepdog/sheepdog] e6adae: sheep: wildcard recovery strategy

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Tue Sep 29 07:30:43 CEST 2015


  Branch: refs/heads/stable-0.9
  Home:   https://github.com/sheepdog/sheepdog
  Commit: e6adae36f3f18680ad99d4c925f548f1668cd753
      https://github.com/sheepdog/sheepdog/commit/e6adae36f3f18680ad99d4c925f548f1668cd753
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2015-09-29 (Tue, 29 Sep 2015)

  Changed paths:
    M include/internal_proto.h
    M sheep/group.c
    M sheep/ops.c
    M sheep/recovery.c
    M sheep/sheep.c
    M sheep/sheep_priv.h
    M sheep/store/md.c
    M sheep/store/plain_store.c

  Log Message:
  -----------
  sheep: wildcard recovery strategy

This patch adds a new type of recovery strategy, wildcard. Current
sheepdog doesn't have a method for migrating objects when it changes
hash function for object placement. The command added by the previous
patch is a solution for the problem, but it requires manual copy
spanning server.

As an alternative and more easy way to solve the problem, this patch
adds a new option -W to sheep command. When the option is passed,
sheep searches all objects from all nodes. Therefore, a cluster can be
upgraded even if object placement strategy is changed (e.g. from 0.7.x
to 0.9.y).

The feature will be useful for cases like switching normal mode to
diskvnodes in the future.

TODO: erasure coded VDIs are not supported yet.

Cc: Masahiro Tsuji <tuji at atworks.co.jp>
Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>

Conflicts:
	sheep/recovery.c
	sheep/sheep.c




More information about the sheepdog mailing list