From: MORITA Kazutaka <morita.kazut...@lab.ntt.co.jp> 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 | 561 ++++++++++++++++++++++++++++++---------------- sheep/sheep.c | 2 +- sheep/sheep_priv.h | 7 +- tests/010.out | 28 --- 9 files changed, 392 insertions(+), 245 deletions(-) -- 1.7.9.5 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog