[sheepdog] [PATCH 0/5] use rbtree to manage virtual node

Liu Yuan namei.unix at gmail.com
Thu Sep 5 06:38:08 CEST 2013


This is the first round effor that tries to remove max limit of node one cluster
can support.

The next round is to use rbtree to manage sd_nodes, which will make node
management fully dynamic and theoretically no limit of max node.

Nothing else changes execept how we manage the virtual node ring.

Liu Yuan (5):
  sheep: restructure sd_vnode
  dog: use struct node_id to send requests
  sheep: use rbtree to manage vnodes hash ring
  rbtree: remove unused augment functions
  rbtree: add rb_destroy helper

 dog/cluster.c            |   18 ++--
 dog/common.c             |   21 ++---
 dog/dog.c                |   20 +++--
 dog/dog.h                |   12 ++-
 dog/farm/farm.c          |    2 +-
 dog/node.c               |   27 ++----
 dog/trace.c              |    8 +-
 dog/vdi.c                |   57 ++++++------
 include/internal_proto.h |    1 -
 include/rbtree.h         |   18 ++--
 include/sheep.h          |  217 +++++++++++++++-------------------------------
 lib/rbtree.c             |   68 ---------------
 sheep/gateway.c          |   12 ++-
 sheep/group.c            |    8 +-
 sheep/plain_store.c      |    5 +-
 sheep/recovery.c         |   10 +--
 sheep/request.c          |    8 +-
 sheep/sheep_priv.h       |    2 +-
 18 files changed, 173 insertions(+), 341 deletions(-)

-- 
1.7.9.5




More information about the sheepdog mailing list