From: Samuel Just Date: Mon, 9 Feb 2015 18:37:15 +0000 (-0800) Subject: ReplicatedPG::on_change: clean up callbacks_for_degraded_object X-Git-Tag: v0.80.10~49^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F3940%2Fhead;p=ceph.git ReplicatedPG::on_change: clean up callbacks_for_degraded_object Backport: dumpling, firefly, giant Fixes: 8753 Signed-off-by: Samuel Just (cherry picked from commit a5ecaa189d47a69466a6cd55fa4180e5c3092dc2) --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index f1911c13f94..65f0607f0bb 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -9494,6 +9494,13 @@ void ReplicatedPG::on_change(ObjectStore::Transaction *t) else p->second.clear(); } + for (map >::iterator i = + callbacks_for_degraded_object.begin(); + i != callbacks_for_degraded_object.end(); + ) { + finish_degraded_object((i++)->first); + } + assert(callbacks_for_degraded_object.empty()); if (is_primary()) { requeue_ops(waiting_for_cache_not_full);