]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::on_change: clean up callbacks_for_degraded_object 3692/head
authorSamuel Just <sjust@redhat.com>
Mon, 9 Feb 2015 18:37:15 +0000 (10:37 -0800)
committerSamuel Just <sjust@redhat.com>
Wed, 11 Feb 2015 18:28:42 +0000 (10:28 -0800)
Backport: dumpling, firefly, giant
Fixes: 8753
Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/ReplicatedPG.cc

index 7877b2e07ecd85c2c0ce2739bd445b814f401214..f582379f23c38872f2c676fd5bccde5fe6c2fd99 100644 (file)
@@ -10450,6 +10450,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);