[sheepdog] [PATCH v2 00/10] use hash for vdi check and object recovery

MORITA Kazutaka morita.kazutaka at gmail.com
Mon May 13 17:11:08 CEST 2013


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

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 10 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: try to create worker threads in worker_thread_request_done
  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    |   90 ++++++++++++++++-----
 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, 521 insertions(+), 235 deletions(-)
 create mode 100644 include/work.h
 rename {sheep => lib}/work.c (78%)
 delete mode 100644 sheep/work.h

-- 
1.7.9.5




More information about the sheepdog mailing list