]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: moved policy inner-types to common types header
authorJason Dillaman <dillaman@redhat.com>
Wed, 14 Mar 2018 13:45:13 +0000 (09:45 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 10 Apr 2018 20:31:32 +0000 (16:31 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/test/rbd_mirror/test_ImagePolicy.cc
src/tools/rbd_mirror/ImageMap.cc
src/tools/rbd_mirror/image_map/Policy.cc
src/tools/rbd_mirror/image_map/Policy.h
src/tools/rbd_mirror/image_map/Types.cc
src/tools/rbd_mirror/image_map/Types.h

index 5c4d63aadab605f28cc109d6fdd8236807561de8..a0320534137e6b1eedbc6bd6bc387cf4460225c3 100644 (file)
@@ -161,8 +161,8 @@ public:
 TEST_F(TestImagePolicy, NegativeLookup) {
   const std::string global_image_id = "global id 1";
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  ASSERT_TRUE(info.instance_id == Policy::UNMAPPED_INSTANCE_ID);
+  LookupInfo info = m_policy->lookup(global_image_id);
+  ASSERT_TRUE(info.instance_id == UNMAPPED_INSTANCE_ID);
 }
 
 TEST_F(TestImagePolicy, MapImage) {
@@ -170,8 +170,8 @@ TEST_F(TestImagePolicy, MapImage) {
 
   map_image(global_image_id);
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+  LookupInfo info = m_policy->lookup(global_image_id);
+  ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
 }
 
 TEST_F(TestImagePolicy, UnmapImage) {
@@ -180,8 +180,8 @@ TEST_F(TestImagePolicy, UnmapImage) {
   // map image
   map_image(global_image_id);
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+  LookupInfo info = m_policy->lookup(global_image_id);
+  ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
 
   reset_flags();
 
@@ -189,7 +189,7 @@ TEST_F(TestImagePolicy, UnmapImage) {
   unmap_image(global_image_id);
 
   info = m_policy->lookup(global_image_id);
-  ASSERT_TRUE(info.instance_id == Policy::UNMAPPED_INSTANCE_ID);
+  ASSERT_TRUE(info.instance_id == UNMAPPED_INSTANCE_ID);
 }
 
 TEST_F(TestImagePolicy, ShuffleImageAddInstance) {
@@ -201,8 +201,8 @@ TEST_F(TestImagePolicy, ShuffleImageAddInstance) {
     // map image
     map_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 
   reset_flags();
@@ -213,8 +213,8 @@ TEST_F(TestImagePolicy, ShuffleImageAddInstance) {
   for (auto const &global_image_id : shuffle_global_image_ids) {
     shuffle_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 }
 
@@ -227,8 +227,8 @@ TEST_F(TestImagePolicy, ShuffleImageRemoveInstance) {
     // map image
     map_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 
   reset_flags();
@@ -239,14 +239,14 @@ TEST_F(TestImagePolicy, ShuffleImageRemoveInstance) {
   for (auto const &global_image_id : shuffle_global_image_ids) {
     shuffle_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 
   // record which of the images got migrated to the new instance
   std::set<std::string> remapped_global_image_ids;
   for (auto const &global_image_id: shuffle_global_image_ids) {
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
+    LookupInfo info = m_policy->lookup(global_image_id);
     if (info.instance_id == "9876") {
       remapped_global_image_ids.emplace(global_image_id);
     }
@@ -262,8 +262,8 @@ TEST_F(TestImagePolicy, ShuffleImageRemoveInstance) {
   for (auto const &global_image_id : shuffle_global_image_ids) {
     shuffle_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 }
 
@@ -287,8 +287,8 @@ TEST_F(TestImagePolicy, RetryMapUpdate) {
 
   ASSERT_TRUE(m_updated && m_acquired);
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+  LookupInfo info = m_policy->lookup(global_image_id);
+  ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
 }
 
 TEST_F(TestImagePolicy, MapFailureAndUnmap) {
@@ -339,8 +339,8 @@ TEST_F(TestImagePolicy, ReshuffleWithMapFailure) {
     // map image
     map_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 
   std::set<std::string> shuffle_global_image_ids;
@@ -396,8 +396,8 @@ TEST_F(TestImagePolicy, ShuffleFailureAndRemove) {
     // map image
     map_image(global_image_id);
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    ASSERT_TRUE(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+    LookupInfo info = m_policy->lookup(global_image_id);
+    ASSERT_TRUE(info.instance_id != UNMAPPED_INSTANCE_ID);
   }
 
   std::set<std::string> shuffle_global_image_ids;
@@ -459,8 +459,8 @@ TEST_F(TestImagePolicy, ShuffleFailureAndRemove) {
 
   ASSERT_TRUE(m_released && m_removed);
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  ASSERT_TRUE(info.instance_id == Policy::UNMAPPED_INSTANCE_ID);
+  LookupInfo info = m_policy->lookup(global_image_id);
+  ASSERT_TRUE(info.instance_id == UNMAPPED_INSTANCE_ID);
 }
 
 } // namespace image_map
index 4556d4fc2e3cc3d6c14e72e8f59d8ba118856969..261d02f6c1756f6cc8f6422d41837dd3549b0326 100644 (file)
@@ -69,8 +69,8 @@ void ImageMap<I>::queue_update_map(const std::string &global_image_id) {
 
   dout(20) << ": global_image_id=" << global_image_id << dendl;
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  assert(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+  image_map::LookupInfo info = m_policy->lookup(global_image_id);
+  assert(info.instance_id != image_map::UNMAPPED_INSTANCE_ID);
 
   m_updates.emplace_back(global_image_id, info.instance_id, info.mapped_time);
 }
@@ -89,8 +89,8 @@ void ImageMap<I>::queue_acquire_image(const std::string &global_image_id) {
 
   dout(20) << ": global_image_id=" << global_image_id << dendl;
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  assert(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+  image_map::LookupInfo info = m_policy->lookup(global_image_id);
+  assert(info.instance_id != image_map::UNMAPPED_INSTANCE_ID);
 
   m_acquire_updates.emplace_back(global_image_id, info.instance_id);
 }
@@ -101,8 +101,8 @@ void ImageMap<I>::queue_release_image(const std::string &global_image_id) {
 
   dout(20) << ": global_image_id=" << global_image_id << dendl;
 
-  Policy::LookupInfo info = m_policy->lookup(global_image_id);
-  assert(info.instance_id != Policy::UNMAPPED_INSTANCE_ID);
+  image_map::LookupInfo info = m_policy->lookup(global_image_id);
+  assert(info.instance_id != image_map::UNMAPPED_INSTANCE_ID);
 
   m_release_updates.emplace_back(global_image_id, info.instance_id);
 }
@@ -400,8 +400,8 @@ void ImageMap<I>::update_images_removed(const std::string &peer_uuid,
       schedule_remove_action(global_image_id);
     }
 
-    Policy::LookupInfo info = m_policy->lookup(global_image_id);
-    if (info.instance_id != Policy::UNMAPPED_INSTANCE_ID) {
+    image_map::LookupInfo info = m_policy->lookup(global_image_id);
+    if (info.instance_id != image_map::UNMAPPED_INSTANCE_ID) {
       to_remove.emplace_back(global_image_id, info.instance_id);
     }
   }
index b809324918ff1b841f8be0b20e7f201bbb19f9e3..16580800f6e73ff97e54bec470a4053d2005d590 100644 (file)
@@ -19,8 +19,6 @@ namespace image_map {
 
 using librbd::util::unique_lock_name;
 
-const std::string Policy::UNMAPPED_INSTANCE_ID("");
-
 Policy::Policy(librados::IoCtx &ioctx)
   : m_ioctx(ioctx),
     m_map_lock(unique_lock_name("rbd::mirror::image_map::Policy::m_map_lock", this)) {
@@ -40,7 +38,7 @@ void Policy::init(const std::map<std::string, cls::rbd::MirrorImageMap> &image_m
   }
 }
 
-Policy::LookupInfo Policy::lookup(const std::string &global_image_id) {
+LookupInfo Policy::lookup(const std::string &global_image_id) {
   dout(20) << ": global_image_id=" << global_image_id << dendl;
 
   RWLock::RLocker map_lock(m_map_lock);
@@ -337,7 +335,7 @@ bool Policy::actions_pending(const std::string &global_image_id, const RWLock &l
   return !it->second.actions.empty();
 }
 
-Policy::LookupInfo Policy::lookup(const std::string &global_image_id, const RWLock &lock) {
+LookupInfo Policy::lookup(const std::string &global_image_id, const RWLock &lock) {
   assert(m_map_lock.is_locked());
 
   LookupInfo info;
index 32fd216018205036f532324a17684afb0f672df4..547bce49fba60f24bdc18b4232d2b9b43e163900 100644 (file)
@@ -12,6 +12,7 @@
 #include "cls/rbd/cls_rbd_types.h"
 #include "include/rados/librados.hpp"
 #include "Action.h"
+#include "tools/rbd_mirror/image_map/Types.h"
 
 class Context;
 
@@ -30,10 +31,6 @@ public:
   void init(const std::map<std::string, cls::rbd::MirrorImageMap> &image_mapping);
 
   // lookup an image from the map
-  struct LookupInfo {
-    std::string instance_id = UNMAPPED_INSTANCE_ID;
-    utime_t mapped_time;
-  };
   LookupInfo lookup(const std::string &global_image_id);
 
   // add, remove, shuffle
@@ -54,8 +51,6 @@ public:
   void start_next_action(const std::string &global_image_id);
   bool finish_action(const std::string &global_image_id, int r);
 
-  static const std::string UNMAPPED_INSTANCE_ID;
-
 private:
   typedef std::list<Action> Actions;
 
index 6592c057c3b14357c2d4779aad64c61388990177..525ee2ac12324e45a94f1f7b45bd5f13be0f33ba 100644 (file)
@@ -10,6 +10,8 @@ namespace rbd {
 namespace mirror {
 namespace image_map {
 
+const std::string UNMAPPED_INSTANCE_ID("");
+
 namespace {
 
 template <typename E>
index 91a592dfeb7ad0d700974f671bdac598f774f247..32fe6c24011f02940ab8b0e6f0bfd65223b7e8e5 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "include/buffer.h"
 #include "include/encoding.h"
+#include "include/utime.h"
 #include "tools/rbd_mirror/types.h"
 
 namespace ceph {
@@ -20,6 +21,8 @@ namespace rbd {
 namespace mirror {
 namespace image_map {
 
+extern const std::string UNMAPPED_INSTANCE_ID;
+
 struct Listener {
   virtual ~Listener() {
   }
@@ -33,6 +36,11 @@ struct Listener {
                             const std::string &instance_id) = 0;
 };
 
+struct LookupInfo {
+  std::string instance_id = UNMAPPED_INSTANCE_ID;
+  utime_t mapped_time;
+};
+
 enum PolicyMetaType {
   POLICY_META_TYPE_NONE = 0,
 };