[sheepdog] [PATCH v4 00/10] different redundancy level for different VDIs
levin li
levin108 at gmail.com
Thu Aug 9 07:27:35 CEST 2012
From: levin li <xingke.lwp at taobao.com>
v3 ----> v4:
1. fix a bug that the cluster hangs when using local driver
2. update the existing VDI copy entry when inserting fails
v2 ----> v3 :
1. change get_min_copy_number to get_max_copy_number
2. store vdi copy data in disk in case of sheep restarts
3. get vdi copy data from other node when a new node joins
4. show copy number in 'collie vdi list'
v1 ----> v2 :
1. rename ctime in vdi.c to create_time
2. rename get_*_copies to get_*_copy_number
3. merge vdi_copy.c to vdi.c
-----------------------------------------
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 (10):
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: store the VDI copies data in disk in case of sheep restarts
sheep: fetch vdi copy list after sheep joins the cluster
sheep: use the specified copies number for IO requests
sheep: cleanup the global copies number
collie: remove copies from 'collie cluster format'
collie: show copy number in the output of 'collie vdi list'
collie/cluster.c | 17 +--
collie/vdi.c | 43 +++--
include/internal_proto.h | 1 +
include/sheepdog_proto.h | 2 +-
sheep/farm/trunk.c | 2 +-
sheep/gateway.c | 4 +-
sheep/group.c | 61 ++-----
sheep/ops.c | 67 +++++---
sheep/recovery.c | 46 +++++-
sheep/request.c | 2 +-
sheep/sheep_priv.h | 33 +++-
sheep/store.c | 76 +++------
sheep/vdi.c | 417 +++++++++++++++++++++++++++++++++++++++-------
13 files changed, 541 insertions(+), 230 deletions(-)
More information about the sheepdog
mailing list