]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd/mirror: leave non-primary snapshot images in creating state 39967/head
authorJason Dillaman <dillaman@redhat.com>
Thu, 11 Feb 2021 20:54:01 +0000 (15:54 -0500)
committerJason Dillaman <dillaman@redhat.com>
Tue, 9 Mar 2021 21:52:20 +0000 (16:52 -0500)
The creating state is a special case in rbd-mirror where it will
automatically delete the image since it assumes it's malformed.
A non-primary, snapshot-based mirror image needs to have at least
one non-primary snapshot and the first one is not created until
after replay has started. Now rbd-mirror will update the mirror
image state to the enabled state after creating the first
non-primary snapshot but before attempting the sync.

Fixes: https://tracker.ceph.com/issues/49238
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 43f2c208fa3042d93e4810d804ffe28e9ca7af77)

src/librbd/mirror/EnableRequest.cc
src/librbd/mirror/EnableRequest.h

index cd276fdfe852a05e7e355abea9a68594b63736f5..d564cbdc6abf7573c8e13b2f5dc19fe189114efc 100644 (file)
@@ -284,7 +284,7 @@ void EnableRequest<I>::handle_enable_non_primary_feature(int r) {
     return;
   }
 
-  image_state_update();
+  finish(0);
 }
 
 template <typename I>
index 574dfe2bc03d091dd8107d375d1810385ac18c02..a92b05cdf667b068d67c9cf29bc3cb5e2eb3951c 100644 (file)
@@ -67,7 +67,7 @@ private:
    *    v (skip if not needed)    *
    * ENABLE_NON_PRIMARY_FEATURE   *
    *    |                         *
-   *    v                         *
+   *    v (skip if not needed)    *
    * IMAGE_STATE_UPDATE * * * * * *
    *    |                         *
    *    v                         *