]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: don't pass API data types to internal state machines
authorJason Dillaman <dillaman@redhat.com>
Tue, 28 Jan 2020 16:00:01 +0000 (11:00 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 30 Jan 2020 15:26:36 +0000 (10:26 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/api/Migration.cc
src/librbd/api/Mirror.cc
src/librbd/api/Trash.cc
src/librbd/image/CloneRequest.cc
src/librbd/image/CreateRequest.cc
src/librbd/mirror/EnableRequest.cc
src/librbd/mirror/EnableRequest.h
src/librbd/operation/EnableFeaturesRequest.cc
src/test/librbd/image/test_mock_CloneRequest.cc
src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc

index 4d9cfb8b4c4fbb903200f3f526c29d2211d2db3c..1319eb237534c7a81ac5b79a07c183ab258d02fb 100644 (file)
@@ -1495,8 +1495,7 @@ int Migration<I>::enable_mirroring(
 
   C_SaferCond ctx;
   auto req = mirror::EnableRequest<I>::create(
-    image_ctx->md_ctx, image_ctx->id,
-    static_cast<mirror_image_mode_t>(mirror_image_mode), "",
+    image_ctx->md_ctx, image_ctx->id, mirror_image_mode, "",
     image_ctx->op_work_queue, &ctx);
   req->send();
   r = ctx.wait();
index 76be2138ffa9b5bce271cec28919c9ff35fe2ebb..ae4874cc45a00117c408dd4958928c8822f4f862 100644 (file)
@@ -411,7 +411,8 @@ int Mirror<I>::image_enable(I *ictx, mirror_image_mode_t mode,
   }
 
   C_SaferCond ctx;
-  auto req = mirror::EnableRequest<ImageCtx>::create(ictx, mode, &ctx);
+  auto req = mirror::EnableRequest<ImageCtx>::create(
+    ictx, static_cast<cls::rbd::MirrorImageMode>(mode), &ctx);
   req->send();
 
   r = ctx.wait();
index 8287fdb3506d0b44f97148982b20ebf41129f42f..8987f4d03d526fef1e9457bc58d30bee24c6454c 100644 (file)
@@ -107,9 +107,9 @@ int enable_mirroring(IoCtx &io_ctx, const std::string &image_id) {
   ContextWQ *op_work_queue;
   ImageCtx::get_thread_pool_instance(cct, &thread_pool, &op_work_queue);
   C_SaferCond ctx;
-  auto req = mirror::EnableRequest<I>::create(io_ctx, image_id,
-                                              RBD_MIRROR_IMAGE_MODE_JOURNAL, "",
-                                              op_work_queue, &ctx);
+  auto req = mirror::EnableRequest<I>::create(
+    io_ctx, image_id, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, "", op_work_queue,
+    &ctx);
   req->send();
   r = ctx.wait();
   if (r < 0) {
index 75b52f5785a0f0e5420433dc6ef5bb2bb79a8a3d..45ea1749526a24781e004ac088794b4976d9a20f 100644 (file)
@@ -529,7 +529,7 @@ void CloneRequest<I>::enable_mirror() {
   // TODO: in future rbd-mirror will want to enable mirroring
   // not only in journal mode.
   mirror::EnableRequest<I> *req = mirror::EnableRequest<I>::create(
-    m_imctx->md_ctx, m_id, RBD_MIRROR_IMAGE_MODE_JOURNAL,
+    m_imctx->md_ctx, m_id, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL,
     m_non_primary_global_image_id, m_imctx->op_work_queue, ctx);
   req->send();
 }
index 400296f5efb0a97e8e576f96fba58176fb5c7b6b..2c497bb157341e35dccbf27629a248542ba07f2d 100644 (file)
@@ -658,10 +658,9 @@ void CreateRequest<I>::mirror_image_enable() {
 
   // TODO: in future rbd-mirror will want to enable mirroring
   // not only in journal mode.
-  auto req = mirror::EnableRequest<I>::create(m_io_ctx, m_image_id,
-                                              RBD_MIRROR_IMAGE_MODE_JOURNAL,
-                                              m_non_primary_global_image_id,
-                                              m_op_work_queue, ctx);
+  auto req = mirror::EnableRequest<I>::create(
+    m_io_ctx, m_image_id, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL,
+    m_non_primary_global_image_id, m_op_work_queue, ctx);
   req->send();
 }
 
index aa550e53913e880bbacdc6619398d06e031c2e58..767ec2590dd162977977cf3b680eac5bb0c0ac35 100644 (file)
@@ -24,12 +24,11 @@ using util::create_rados_callback;
 template <typename I>
 EnableRequest<I>::EnableRequest(librados::IoCtx &io_ctx,
                                 const std::string &image_id,
-                                mirror_image_mode_t mode,
+                                cls::rbd::MirrorImageMode mode,
                                 const std::string &non_primary_global_image_id,
                                 ContextWQ *op_work_queue, Context *on_finish)
   : m_io_ctx(io_ctx), m_image_id(image_id),
-    m_mode(static_cast<cls::rbd::MirrorImageMode>(mode)),
-    m_non_primary_global_image_id(non_primary_global_image_id),
+    m_mode(mode), m_non_primary_global_image_id(non_primary_global_image_id),
     m_op_work_queue(op_work_queue), m_on_finish(on_finish),
     m_cct(reinterpret_cast<CephContext*>(io_ctx.cct())) {
 }
index ad3c2af171f7ea01a9f5d875048f057bb5a19c4d..374f038c86d11a1835b9939a00af49f8a76ac3b6 100644 (file)
@@ -21,14 +21,15 @@ namespace mirror {
 template <typename ImageCtxT = ImageCtx>
 class EnableRequest {
 public:
-  static EnableRequest *create(ImageCtxT *image_ctx, mirror_image_mode_t mode,
+  static EnableRequest *create(ImageCtxT *image_ctx,
+                               cls::rbd::MirrorImageMode mode,
                                Context *on_finish) {
     return create(image_ctx->md_ctx, image_ctx->id, mode, "",
                   image_ctx->op_work_queue, on_finish);
   }
   static EnableRequest *create(librados::IoCtx &io_ctx,
                                const std::string &image_id,
-                               mirror_image_mode_t mode,
+                               cls::rbd::MirrorImageMode mode,
                                const std::string &non_primary_global_image_id,
                                ContextWQ *op_work_queue, Context *on_finish) {
     return new EnableRequest(io_ctx, image_id, mode,
@@ -60,7 +61,7 @@ private:
    */
 
   EnableRequest(librados::IoCtx &io_ctx, const std::string &image_id,
-                mirror_image_mode_t mode,
+                cls::rbd::MirrorImageMode mode,
                 const std::string &non_primary_global_image_id,
                 ContextWQ *op_work_queue, Context *on_finish);
 
index dd4eadfacd485931e00f68824b583798457e1c47..398724a09f36b1e5e3e8189c706b5321e6179b09 100644 (file)
@@ -421,7 +421,7 @@ void EnableFeaturesRequest<I>::send_enable_mirror_image() {
     &EnableFeaturesRequest<I>::handle_enable_mirror_image>(this);
 
   mirror::EnableRequest<I> *req = mirror::EnableRequest<I>::create(
-    &image_ctx, RBD_MIRROR_IMAGE_MODE_JOURNAL, ctx);
+    &image_ctx, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, ctx);
   req->send();
 }
 
index 009e4c4859e27da0d35d6340b0b4940225b512d7..1246836e07acb7ce02dfc92f37826be2f2cec705 100644 (file)
@@ -160,7 +160,7 @@ struct EnableRequest<MockTestImageCtx> {
   static EnableRequest* s_instance;
   static EnableRequest* create(librados::IoCtx &io_ctx,
                                const std::string &image_id,
-                               mirror_image_mode_t mode,
+                               cls::rbd::MirrorImageMode mode,
                                const std::string &non_primary_global_image_id,
                                MockContextWQ *op_work_queue,
                                Context *on_finish) {
index 70f6aa5320979d9e3570754afd8c4f9a4b04476a..d33ce1db9abb8589eda85901ffe1fbf1100a47ec 100644 (file)
@@ -95,7 +95,7 @@ public:
   Context *on_finish = nullptr;
 
   static EnableRequest *create(MockOperationImageCtx *image_ctx,
-                               mirror_image_mode_t mirror_image_mode,
+                               cls::rbd::MirrorImageMode mirror_image_mode,
                                Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     s_instance->on_finish = on_finish;