[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