From: MORITA Kazutaka <morita.kazut...@lab.ntt.co.jp> v3: - fix missing assignment of create_cb and destroy_cb - drop "work: try to create worker threads in worker_thread_request_done", and add "work: initialize nr_nodes in init_work_queue()" instead
v2: - use work queue for vdi check - refine parameters of recover_object_from() On my environment with 16 nodes, this series makes the 'collie vdi check' performance more than 50 times faster. The number would be better if we use more nodes for sheepdog. The first 6 patches are in preparation for using the work queue in collie. MORITA Kazutaka (10): work: move some globals into work.c work: rename init_wqueue_eventfd and init_work_queue work: remove sheep_priv.h and trace.h from include files move work queue codes from sheep to lib work: initialize nr_nodes in init_work_queue() collie: add a function to wait for all the running works sheep: add operation to get object sha1 digest collie: use hash for collie check tests: fix vdi check output sheep: recover from local when target node has same content collie/Makefile.am | 2 +- collie/collie.c | 15 ++++ collie/collie.h | 3 + collie/common.c | 8 ++ collie/vdi.c | 195 +++++++++++++++++++++++++++++++++++++--------- include/Makefile.am | 2 +- include/internal_proto.h | 1 + include/sha1.h | 1 + include/sheepdog_proto.h | 5 ++ include/work.h | 65 ++++++++++++++++ lib/Makefile.am | 2 +- lib/sha1.c | 15 ++++ {sheep => lib}/work.c | 83 ++++++++++++++------ sheep/Makefile.am | 4 +- sheep/farm/farm.c | 1 + sheep/farm/farm.h | 1 - sheep/farm/sha1_file.c | 15 ---- sheep/ops.c | 18 +++++ sheep/plain_store.c | 41 ++++++++++ sheep/recovery.c | 139 ++++++++++++++++++++------------- sheep/sheep.c | 37 ++++++--- sheep/sheep_priv.h | 28 +------ sheep/trace/trace.h | 1 - sheep/work.h | 59 -------------- tests/048 | 2 +- tests/048.out | 2 +- tests/052 | 2 +- tests/052.out | 2 +- 28 files changed, 513 insertions(+), 236 deletions(-) create mode 100644 include/work.h rename {sheep => lib}/work.c (80%) delete mode 100644 sheep/work.h -- 1.7.9.5 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog