]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #2986 from ceph/wip-9998
authorLoic Dachary <ldachary@redhat.com>
Sat, 13 Dec 2014 23:52:08 +0000 (00:52 +0100)
committerLoic Dachary <ldachary@redhat.com>
Sat, 13 Dec 2014 23:52:08 +0000 (00:52 +0100)
crush: fix weight underfloat issue

Reviewed-by: Loic Dachary <ldachary@redhat.com>
1  2 
src/crush/CrushWrapper.cc
src/crush/builder.c

Simple merge
index 9834e836f81a16427b46a9c3aa854fc6cd17b5a0,1609eb4d71236111112ea6a021827942e7e90dde..4854bb564144554b1e58001be7ab02d534a0be17
@@@ -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)