[sheepdog] [PATCH v4 00/10] use hash for vdi check and object recovery
MORITA Kazutaka
morita.kazutaka at gmail.com
Tue May 14 09:00:09 CEST 2013
From: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
v4:
- add missing put_vnode_info()
- fix work_queue_wait() so that it can surely wait all the works
completed.
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 | 13 ++++
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 | 39 +++++++---
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, 520 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
More information about the sheepdog
mailing list