Re: I found some problem in CRUSH code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Yes, that's a bug... Those ='s should be -, as with the straw bucket type.  
Opened http://tracker.newdream.net/issues/2096

Thanks!  This'll be fixed in v0.43.
sage


On Wed, 15 Feb 2012, ZhuRongze wrote:

> Hi,
> 
> The function crush_adjust_tree_bucket_item_weight in
> ceph-0.41/src/crush/builder.c seem to  have a bug. The argument weight is no
> use, because it is assigned .
> --------------------------------------------------------------------
> int crush_adjust_tree_bucket_item_weight(struct crush_bucket_tree *bucket, int
> item, int weight)
> {
>     int diff;
>     int node;
>     unsigned i, j;
>     unsigned depth = calc_depth(bucket->h.size);
> 
>     for (i = 0; i < bucket->h.size; i++) {
>         if (bucket->h.items[i] == item)
>             break;
>     }
>     if (i == bucket->h.size)
>         return 0;
> 
>     node = crush_calc_tree_node(i);
>     diff = weight = bucket->node_weights[node];
>     bucket->node_weights[node] = weight;
>     bucket->h.weight += diff;
> 
>     for (j=1; j<depth; j++) {
>         node = parent(node);
>         bucket->node_weights[node] += diff;
>     }
> 
>     return diff;
> 
> --------------------------------------------------------------------
> The function crush_adjust_list_bucket_item_weight also have a same problem.
> 
> -ZhuRongze
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux