From: Loic Dachary Date: Mon, 27 Feb 2017 10:54:39 +0000 (+0100) Subject: crush: clear bucket class ids when removed X-Git-Tag: v12.0.1~135^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=57e66c6f2d313a22fa5fb5bdd06cdcc5eaaff2ea;p=ceph.git crush: clear bucket class ids when removed Refs: http://tracker.ceph.com/issues/18943 Signed-off-by: Loic Dachary --- diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc index 45c41596016..35c320f2757 100644 --- a/src/crush/CrushWrapper.cc +++ b/src/crush/CrushWrapper.cc @@ -248,6 +248,8 @@ bool CrushWrapper::_maybe_remove_last_instance(CephContext *cct, int item, bool crush_bucket *t = get_bucket(item); ldout(cct, 5) << "_maybe_remove_last_instance removing bucket " << item << dendl; crush_remove_bucket(crush, t); + if (class_bucket.count(item) != 0) + class_bucket.erase(item); } if ((item >= 0 || !unlink_only) && name_map.count(item)) { ldout(cct, 5) << "_maybe_remove_last_instance removing name for item " << item << dendl;