[sheepdog] [PATCH v10 0/7] shepherd: a new cluster manager specialized for sheepdog
Hitoshi Mitake
mitake.hitoshi at lab.ntt.co.jp
Mon Apr 8 03:47:00 CEST 2013
This patchset adds shepherd: a new cluster manager specialized for
sheepdog. The 6th and 7th patches actually adds shepherd and its
driver, 1 - 5th do preparations for it.
Now shepherd can pass all tests. And valgrind doesn't report memory
errors. I believe current version can satisfy least quality for
applying. I'm grad if I can hear your opinions.
v2
* lots of cleaning and bug fix
* sane command line option handling
* a little bit improvement of leave handling
* not call sd_join_handler() in sheepkeeper_join()
* add new option --enable-sheepkeeper to configure script for
enable/disable building sheepkeeper
v3
* lots of cleaning and bug fix
* suppress some compiler warnings
* handle leave of sheeps in saner way. this also reduces the problem
of odd handling of return values from xread/xwrite
* default log of sheepkeeper is /var/log/sheepkeeper.c, and users can
specify custom location with -l option
v4
* tons of cleaning and bug fix
* documentation: https://github.com/mitake/sheepdog/wiki/sheepkeeper-design-note
* stabilizing. The unpassed tests are: 008 (long), 015, 043, and 044 (long).
v5
* rename sheepkeeper -> shepherd
* a little bit cleaning
* new document: https://github.com/mitake/sheepdog/wiki/shepherd-design-note
v6
* fix problems of coding style pointed by Liu Yuan
v7
* all tests can be passed
v8
* cleaning coding style and some removing some bugs
* all tests can be passed with valgrind
* add event prioritizing mechanism for shepherd
v9
* all tests can be passed with valgrind, take 2
** CAUTION: this patchset depends on the patch Yuan posted which is titled,
sheep: don't panic on reading broken epoch file
v10
* rebase on latest master
Hitoshi Mitake (7):
include: move node_to_str() and str_to_node() from sheep/cluster.h to
include/sheep.h
include: move enum cluster_join_result from sheep/cluster.h to
include/internal_proto.h
lib: sockaddr_in_to_str(), convert sockaddr_in to string
representation
lib: add wrappers do_writev2() and writev2() for typical usage of
writev()
lib: add a mechanism for prioritizing events
shepherd: a new cluster manager specialized for sheepdog
sheep: add a cluster driver for shepherd
.gitignore | 1 +
Makefile.am | 2 +-
configure.ac | 3 +-
include/Makefile.am | 5 +-
include/event.h | 14 +-
include/internal_proto.h | 20 +
include/net.h | 6 +
include/sheep.h | 38 ++
include/shepherd.h | 132 +++++++
lib/event.c | 61 +++-
lib/net.c | 34 ++
sheep/Makefile.am | 3 +-
sheep/cluster.h | 53 ---
sheep/cluster/shepherd.c | 689 ++++++++++++++++++++++++++++++++++++
shepherd/Makefile.am | 44 +++
shepherd/shepherd.c | 869 ++++++++++++++++++++++++++++++++++++++++++++++
16 files changed, 1907 insertions(+), 67 deletions(-)
create mode 100644 include/shepherd.h
create mode 100644 sheep/cluster/shepherd.c
create mode 100644 shepherd/Makefile.am
create mode 100644 shepherd/shepherd.c
--
1.7.2.5
More information about the sheepdog
mailing list