From: Jason Dillaman Date: Tue, 28 Jan 2020 16:00:01 +0000 (-0500) Subject: librbd: don't pass API data types to internal state machines X-Git-Tag: v15.1.1~472^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3085300bf410296945a6320ae47156cbbd421e66;p=ceph.git librbd: don't pass API data types to internal state machines Signed-off-by: Jason Dillaman --- diff --git a/src/librbd/api/Migration.cc b/src/librbd/api/Migration.cc index 4d9cfb8b4c4f..1319eb237534 100644 --- a/src/librbd/api/Migration.cc +++ b/src/librbd/api/Migration.cc @@ -1495,8 +1495,7 @@ int Migration::enable_mirroring( C_SaferCond ctx; auto req = mirror::EnableRequest::create( - image_ctx->md_ctx, image_ctx->id, - static_cast(mirror_image_mode), "", + image_ctx->md_ctx, image_ctx->id, mirror_image_mode, "", image_ctx->op_work_queue, &ctx); req->send(); r = ctx.wait(); diff --git a/src/librbd/api/Mirror.cc b/src/librbd/api/Mirror.cc index 76be2138ffa9..ae4874cc45a0 100644 --- a/src/librbd/api/Mirror.cc +++ b/src/librbd/api/Mirror.cc @@ -411,7 +411,8 @@ int Mirror::image_enable(I *ictx, mirror_image_mode_t mode, } C_SaferCond ctx; - auto req = mirror::EnableRequest::create(ictx, mode, &ctx); + auto req = mirror::EnableRequest::create( + ictx, static_cast(mode), &ctx); req->send(); r = ctx.wait(); diff --git a/src/librbd/api/Trash.cc b/src/librbd/api/Trash.cc index 8287fdb3506d..8987f4d03d52 100644 --- a/src/librbd/api/Trash.cc +++ b/src/librbd/api/Trash.cc @@ -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::create(io_ctx, image_id, - RBD_MIRROR_IMAGE_MODE_JOURNAL, "", - op_work_queue, &ctx); + auto req = mirror::EnableRequest::create( + io_ctx, image_id, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, "", op_work_queue, + &ctx); req->send(); r = ctx.wait(); if (r < 0) { diff --git a/src/librbd/image/CloneRequest.cc b/src/librbd/image/CloneRequest.cc index 75b52f5785a0..45ea1749526a 100644 --- a/src/librbd/image/CloneRequest.cc +++ b/src/librbd/image/CloneRequest.cc @@ -529,7 +529,7 @@ void CloneRequest::enable_mirror() { // TODO: in future rbd-mirror will want to enable mirroring // not only in journal mode. mirror::EnableRequest *req = mirror::EnableRequest::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(); } diff --git a/src/librbd/image/CreateRequest.cc b/src/librbd/image/CreateRequest.cc index 400296f5efb0..2c497bb15734 100644 --- a/src/librbd/image/CreateRequest.cc +++ b/src/librbd/image/CreateRequest.cc @@ -658,10 +658,9 @@ void CreateRequest::mirror_image_enable() { // TODO: in future rbd-mirror will want to enable mirroring // not only in journal mode. - auto req = mirror::EnableRequest::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::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(); } diff --git a/src/librbd/mirror/EnableRequest.cc b/src/librbd/mirror/EnableRequest.cc index aa550e53913e..767ec2590dd1 100644 --- a/src/librbd/mirror/EnableRequest.cc +++ b/src/librbd/mirror/EnableRequest.cc @@ -24,12 +24,11 @@ using util::create_rados_callback; template EnableRequest::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(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(io_ctx.cct())) { } diff --git a/src/librbd/mirror/EnableRequest.h b/src/librbd/mirror/EnableRequest.h index ad3c2af171f7..374f038c86d1 100644 --- a/src/librbd/mirror/EnableRequest.h +++ b/src/librbd/mirror/EnableRequest.h @@ -21,14 +21,15 @@ namespace mirror { template 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); diff --git a/src/librbd/operation/EnableFeaturesRequest.cc b/src/librbd/operation/EnableFeaturesRequest.cc index dd4eadfacd48..398724a09f36 100644 --- a/src/librbd/operation/EnableFeaturesRequest.cc +++ b/src/librbd/operation/EnableFeaturesRequest.cc @@ -421,7 +421,7 @@ void EnableFeaturesRequest::send_enable_mirror_image() { &EnableFeaturesRequest::handle_enable_mirror_image>(this); mirror::EnableRequest *req = mirror::EnableRequest::create( - &image_ctx, RBD_MIRROR_IMAGE_MODE_JOURNAL, ctx); + &image_ctx, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, ctx); req->send(); } diff --git a/src/test/librbd/image/test_mock_CloneRequest.cc b/src/test/librbd/image/test_mock_CloneRequest.cc index 009e4c4859e2..1246836e07ac 100644 --- a/src/test/librbd/image/test_mock_CloneRequest.cc +++ b/src/test/librbd/image/test_mock_CloneRequest.cc @@ -160,7 +160,7 @@ struct EnableRequest { 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) { diff --git a/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc b/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc index 70f6aa532097..d33ce1db9abb 100644 --- a/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc +++ b/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc @@ -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;