]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
librbd: reset collection state after move operation
authorJason Dillaman <dillaman@redhat.com>
Fri, 21 Aug 2020 14:36:55 +0000 (10:36 -0400)
committerJason Dillaman <dillaman@redhat.com>
Fri, 21 Aug 2020 14:36:55 +0000 (10:36 -0400)
A technical requirement of move operations requires that the collection
be reset to a known state before being used again.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/Journal.cc

index 11158366be501c913e0e5ef54f4df94ad36b17cc..c38a5d82288ee4e0646316e7c3e0d45732ec9d26 100644 (file)
@@ -1600,7 +1600,9 @@ void Journal<I>::transition_state(State state, int r) {
   }
 
   if (is_steady_state()) {
-    Contexts wait_for_state_contexts(std::move(m_wait_for_state_contexts));
+    auto wait_for_state_contexts(std::move(m_wait_for_state_contexts));
+    m_wait_for_state_contexts.clear();
+
     for (auto ctx : wait_for_state_contexts) {
       ctx->complete(m_error_result);
     }