[sheepdog] [PATCH v5 0/8] different redundancy level for different VDIs
levin li
levin108 at gmail.com
Wed Aug 22 10:55:11 CEST 2012
From: levin li <xingke.lwp at taobao.com>
v4 ---> v5
1. do not store vdi copy list locally any more, read it from local inode data
2. collect copy list data from other nodes in get_vdi_bitmap
3. make recovery wait until get_vdi_bitmap finished
4. add back the default redundancy level in 'collie cluster format'
5. fix some bugs that fail the test program
-----------------------------------------
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 | 2 +-
sheep/gateway.c | 4 +-
sheep/group.c | 142 ++++++++++++++++--------
sheep/ops.c | 28 +++--
sheep/recovery.c | 11 ++-
sheep/request.c | 2 +-
sheep/sheep.c | 2 +
sheep/sheep_priv.h | 33 +++++-
sheep/store.c | 9 +-
sheep/vdi.c | 286 ++++++++++++++++++++++++++++++++++++----------
tests/016.out | 2 +-
15 files changed, 463 insertions(+), 152 deletions(-)
More information about the sheepdog
mailing list