On Sat, Oct 26, 2013 at 03:25:28AM +0900, MORITA Kazutaka wrote: > At Wed, 23 Oct 2013 15:59:12 +0800, > Liu Yuan wrote: > > > > For erasure coding with x:y scheme, we can still promise the data > > reliability > > with x nodes alive and provide services. There is no reason we don't do it > > in > > sheepdog. > > > > Signed-off-by: Liu Yuan <[email protected]> > > --- > > sheep/plain_store.c | 13 ------------- > > sheep/recovery.c | 19 ++++++------------- > > 2 files changed, 6 insertions(+), 26 deletions(-) > > > > diff --git a/sheep/plain_store.c b/sheep/plain_store.c > > index fde7c9f..02db25e 100644 > > --- a/sheep/plain_store.c > > +++ b/sheep/plain_store.c > > @@ -463,19 +463,6 @@ static bool oid_stale(uint64_t oid) > > const struct sd_vnode *obj_vnodes[SD_MAX_COPIES]; > > vinfo = get_vnode_info(); > > > > - /* > > - * If vinfo->nr_zones < SD_EC_DP, we might not get the idx, so we don't > > - * know it is stale or not. In this case, we keep it stay in the working > > - * directory in order to recover it when we get enough zones > > - */ > > - if (is_erasure_oid(oid)) { > > - uint8_t policy = get_vdi_copy_policy(oid_to_vid(oid)); > > - int edp = ec_policy_to_dp(policy, NULL, NULL); > > - > > - if (unlikely(vinfo->nr_zones < edp)) > > - return false; > > - } > > - > > nr_copies = get_obj_copy_number(oid, vinfo->nr_zones); > > oid_to_vnodes(oid, &vinfo->vroot, nr_copies, obj_vnodes); > > for (i = 0; i < nr_copies; i++) { > > diff --git a/sheep/recovery.c b/sheep/recovery.c > > index 39ca2b1..3c59756 100644 > > --- a/sheep/recovery.c > > +++ b/sheep/recovery.c > > @@ -431,17 +431,15 @@ out: > > return lost; > > } > > > > -static uint8_t local_node_copy_index(struct rb_root *vroot, uint64_t oid) > > +static uint8_t local_node_copy_index(struct vnode_info *vinfo, uint64_t > > oid) > > I think we can make vinfo a constant variable.
This is just a simple helper function and if make vinfo as const, need some manual convensions. So I'll keep it as non-const. Thanks Yuan -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
