From: Loic Dachary Date: Sat, 13 Dec 2014 23:52:08 +0000 (+0100) Subject: Merge pull request #2986 from ceph/wip-9998 X-Git-Tag: v0.91~47^2~22 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4b9b0417e4d78ebe45e72e66a989d4729030afc4;p=ceph.git Merge pull request #2986 from ceph/wip-9998 crush: fix weight underfloat issue Reviewed-by: Loic Dachary --- 4b9b0417e4d78ebe45e72e66a989d4729030afc4 diff --cc src/crush/builder.c index 9834e836f81a1,1609eb4d71236..4854bb5641445 --- a/src/crush/builder.c +++ b/src/crush/builder.c @@@ -853,9 -833,12 +859,12 @@@ int crush_remove_tree_bucket_item(struc for (j = 1; j < depth; j++) { node = parent(node); bucket->node_weights[node] -= weight; - printf(" node %d weight %d\n", node, bucket->node_weights[node]); + dprintk(" node %d weight %d\n", node, bucket->node_weights[node]); } - bucket->h.weight -= weight; + if (weight < bucket->h.weight) + bucket->h.weight -= weight; + else + bucket->h.weight = 0; break; } if (i == bucket->h.size)