[sheepdog] [PATCH 00/10] add reweight support

Liu Yuan namei.unix at gmail.com
Sun May 26 15:40:32 CEST 2013


This patch set mainly add reweight support after sizes of nodes get changed by
plug/unplug.

The rationale for reweighting instead of auto-reweighting for every plug/unplug
event is that, people don't want plug/unplug or disk crashes in one node put the
the whole cluster in recovery. Instead, people can do manual reweighting at
their will because md event doesn't degrade the data reliability or availibility.

Also fixes 'node info' output

usage:
 $ collie cluster reweight # trigger reweighting and data rebalance across cluster

Liu Yuan (10):
  sheep: reanme {set,get}_cluster_space as _node_space
  tests: use mkfs.ext3 only for _make_device
  sheep: remove '-s' option
  collie: fix 'node info'
  sheep: fix 'md info'
  collie: show available command only for subcommand
  recovery: don't assume old_epoch is sys->eopch - 1
  sheep: add 'cluster reweight' support
  recovery: don't notify completion for md recovery
  tests: add 063 to test reweight

 collie/cluster.c         |   14 +++++++
 collie/collie.c          |    7 ++--
 collie/node.c            |   13 +++---
 include/internal_proto.h |    4 +-
 sheep/config.c           |    4 +-
 sheep/group.c            |   22 +++++++++-
 sheep/md.c               |   27 ++++++++----
 sheep/ops.c              |  105 +++++++++++++++++++++++++++++++++++++---------
 sheep/plain_store.c      |   12 +++---
 sheep/recovery.c         |   32 ++++++++++----
 sheep/sheep.c            |   14 +------
 sheep/sheep_priv.h       |    9 ++--
 sheep/store.c            |    6 +--
 tests/010                |    4 +-
 tests/016                |    4 +-
 tests/016.out            |    8 ++--
 tests/042                |    2 +-
 tests/042.out            |   82 ++++++++++++++++++++----------------
 tests/044                |    4 +-
 tests/044.out            |    8 ++--
 tests/054                |   12 +++++-
 tests/057.out            |   48 ++++++++++-----------
 tests/058                |    6 +--
 tests/058.out            |   16 +++----
 tests/063                |   44 +++++++++++++++++++
 tests/063.out            |   30 +++++++++++++
 tests/common.filter      |    7 +++-
 tests/common.rc          |   20 +--------
 tests/group              |    1 +
 29 files changed, 383 insertions(+), 182 deletions(-)
 create mode 100755 tests/063
 create mode 100644 tests/063.out

-- 
1.7.9.5



More information about the sheepdog mailing list