[sheepdog] [PATCH RESEND 00/10] add reweight support
Liu Yuan
namei.unix at gmail.com
Sun May 26 15:44:59 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