[sheepdog] [PATCH v3 00/10] refactor object recovery

MORITA Kazutaka morita.kazutaka at gmail.com
Thu May 9 12:15:34 CEST 2013


From: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>

v3:
 - use xvalloc instead of valloc
 - fix a style problem
 - try to read remote replica after local one

v2:
 - clean up do_recover_object()
 - introduce SD_RES_STALE_OBJ to indicate that sheep may return a stale object
 - rebase onto upstream

The first patch is a preparation for the succeeding patches.  The next 2 patches
improves performance of object recovery.  The next 4 patches are helpful to find
the latest objects when recovering sheepdog cluster manually.  The next 2
patches fixes fatal problems of object recovery, and the last patch prints
errors in sheep.log when sheepdog may lose data.

MORITA Kazutaka (10):
  sheep: do breadth first search in recover_object_from_replica()
  sheep: don't try to recover from working directory
  sheep: recover from local if possible
  sheep: move objects to stale direcotry before starting recovery
  md: kick recovery outside of md_lock context
  sheep: try to recover only from the target epoch
  tests/010: remove stale objects from working directory contents
  sheep: recover objects in the ordered worker thread
  sheep: split struct recovery_work
  sheep: show error message when object may be lost

 include/internal_proto.h |    1 +
 include/sheep.h          |    1 +
 sheep/farm/farm.c        |    2 +-
 sheep/md.c               |   22 +-
 sheep/plain_store.c      |   13 +-
 sheep/recovery.c         |  566 ++++++++++++++++++++++++++++++----------------
 sheep/sheep.c            |    2 +-
 sheep/sheep_priv.h       |    7 +-
 tests/010.out            |   28 ---
 9 files changed, 393 insertions(+), 249 deletions(-)

-- 
1.7.9.5




More information about the sheepdog mailing list