]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: save requested mirror image mode during migration prepare
authorJason Dillaman <dillaman@redhat.com>
Mon, 20 Apr 2020 23:34:57 +0000 (19:34 -0400)
committerNathan Cutler <ncutler@suse.com>
Wed, 29 Apr 2020 12:06:58 +0000 (14:06 +0200)
Once the migration is committed, the requested mode will be applied.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 25c034f0a0a627b54a1e4b948292890385cb7b6d)

src/librbd/api/Migration.cc

index 81f1ed0cd58deeba01b2b23fc45c0ebfbe373b94..106eae6d4439dac2db40b5119fcb523752a59c40 100644 (file)
@@ -1227,6 +1227,15 @@ int Migration<I>::create_dst_image() {
   ConfigProxy config{m_cct->_conf};
   api::Config<I>::apply_pool_overrides(m_dst_io_ctx, &config);
 
+  uint64_t mirror_image_mode;
+  if (m_image_options.get(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE,
+                          &mirror_image_mode) == 0) {
+    m_mirroring = true;
+    m_mirror_image_mode = static_cast<cls::rbd::MirrorImageMode>(
+      mirror_image_mode);
+    m_image_options.unset(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE);
+  }
+
   int r;
   C_SaferCond on_create;
   librados::IoCtx parent_io_ctx;