]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::on_change: clean up callbacks_for_degraded_object 3939/head 3940/head
authorSamuel Just <sjust@redhat.com>
Mon, 9 Feb 2015 18:37:15 +0000 (10:37 -0800)
committerLoic Dachary <ldachary@redhat.com>
Wed, 11 Mar 2015 00:13:15 +0000 (01:13 +0100)
Backport: dumpling, firefly, giant
Fixes: 8753
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit a5ecaa189d47a69466a6cd55fa4180e5c3092dc2)

src/osd/ReplicatedPG.cc

index f1911c13f947b5ebe2cbeffb19aaa755f3b0fc8a..65f0607f0bb833b322c3b60d1d77e4546f359138 100644 (file)
@@ -9494,6 +9494,13 @@ void ReplicatedPG::on_change(ObjectStore::Transaction *t)
     else
       p->second.clear();
   }
+  for (map<hobject_t, list<Context*> >::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);