]> 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)
committerJason Dillaman <dillaman@redhat.com>
Thu, 23 Apr 2020 17:19:49 +0000 (13:19 -0400)
Once the migration is committed, the requested mode will be applied.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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;