summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2012-05-02 12:06:28 -0700
committerSage Weil <sage@newdream.net>2012-05-02 14:55:53 -0700
commiteca7eac34af0468fe6d8c7db0f87d04c18dc51eb (patch)
tree8dbc88530b57e72b61d5e28af40cdd038a7dfc35
parent695d3775c2bf1144325e5d3a3e61e5138f488e56 (diff)
downloadceph-eca7eac34af0468fe6d8c7db0f87d04c18dc51eb.tar.gz
crush: fix weights when removing items
Reweight an item to 0 before removing it, so that the parent weights are adjusted accordingly. Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--src/crush/CrushWrapper.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc
index d8ddca2a0fd..13351d54d04 100644
--- a/src/crush/CrushWrapper.cc
+++ b/src/crush/CrushWrapper.cc
@@ -44,6 +44,7 @@ int CrushWrapper::remove_item(CephContext *cct, int item)
}
was_bucket = t;
}
+ adjust_item_weight(cct, item, 0);
ldout(cct, 5) << "remove_device removing item " << item << " from bucket " << b->id << dendl;
crush_bucket_remove_item(b, item);
ret = 0;