[sheepdog] [PATCH v6 0/8] different redundancy level for different VDIs

levin li levin108 at gmail.com
Thu Aug 23 05:48:34 CEST 2012


From: levin li <xingke.lwp at taobao.com>

v5 ---> v6
1. rename add_vdi_copies to add_vdi_copy_number
2. remove the state of recovery waiting for copy list
3. fix a bug that loses inode data in recovery
-----------------------------------------
With this patch set, we don't need to specify copies number when formating
the cluster, there's no global redundancy level any more, instead, we need
to specify copies number for every VDI when creating a new one, like this:

# collie vdi create test 10G -c 3

If the -c is not specified, then use the default copies number 3

levin li (8):
  sheep: use struct vdi_iocb to simplify the vdi_create api
  collie: add -c for 'collie vdi create' to specify redundancy level
    for per-vdi
  sheep: rename ctime to create_time in vdi.c
  sheep: add vdi_copy tree to store copies number for every VDI
  sheep: fetch vdi copy list after sheep joins the cluster
  sheep: use the specified copies number for IO requests
  sheep: remove some unused copies related functions
  collie: show copy number in the output of 'collie vdi list'

 collie/common.c          |   15 ++-
 collie/vdi.c             |   41 +++++---
 include/sheepdog_proto.h |    7 +-
 sheep/farm/farm.c        |   31 +++++-
 sheep/farm/trunk.c       |    4 +-
 sheep/gateway.c          |    4 +-
 sheep/group.c            |  117 ++++++++++++--------
 sheep/ops.c              |   28 +++--
 sheep/recovery.c         |   11 ++-
 sheep/request.c          |    2 +-
 sheep/sheep.c            |    2 +
 sheep/sheep_priv.h       |   29 ++++-
 sheep/store.c            |    9 +-
 sheep/vdi.c              |  286 ++++++++++++++++++++++++++++++++++++----------
 tests/016.out            |    2 +-
 15 files changed, 436 insertions(+), 152 deletions(-)




More information about the sheepdog mailing list