On 08/23/2012 11:48 AM, levin li wrote: > 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(-) > Applied after changing is_vdis_list_ready to static and read_vdi_copies -> read_vdi_copy_number, and fix some warnings from checkpatch.pl Thanks, Yuan |