]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/test/osd/TestMClockClientQueue.cc
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / test / osd / TestMClockClientQueue.cc
index 69d2f38ddb23f135e431022735e626e05292547d..70e054c7b933feccd53bf8437f81580102b3fa67 100644 (file)
@@ -25,40 +25,37 @@ class MClockClientQueueTest : public testing::Test {
 public:
   mClockClientQueue q;
 
-  entity_inst_t client1;
-  entity_inst_t client2;
-  entity_inst_t client3;
+  uint64_t client1;
+  uint64_t client2;
+  uint64_t client3;
 
   MClockClientQueueTest() :
     q(g_ceph_context),
-    client1(entity_name_t(CEPH_ENTITY_TYPE_OSD, 1), entity_addr_t()),
-    client2(entity_name_t(CEPH_ENTITY_TYPE_OSD, 2), entity_addr_t()),
-    client3(entity_name_t(CEPH_ENTITY_TYPE_CLIENT, 1), entity_addr_t())
+    client1(1001),
+    client2(9999),
+    client3(100000001)
   {}
 
 #if 0 // more work needed here
-  Request create_client_op(epoch_t e, const entity_inst_t& owner) {
-    return Request(spg_t(), PGQueueable(OpRequestRef(), e));
+  Request create_client_op(epoch_t e, uint64_t owner) {
+    return Request(spg_t(), OpQueueItem(OpRequestRef(), e));
   }
 #endif
 
-  Request create_snaptrim(epoch_t e, const entity_inst_t& owner) {
-    return Request(spg_t(),
-                  PGQueueable(PGSnapTrim(e),
+  Request create_snaptrim(epoch_t e, uint64_t owner) {
+    return Request(OpQueueItem(unique_ptr<OpQueueItem::OpQueueable>(new PGSnapTrim(spg_t(), e)),
                               12, 12,
                               utime_t(), owner, e));
   }
 
-  Request create_scrub(epoch_t e, const entity_inst_t& owner) {
-    return Request(spg_t(),
-                  PGQueueable(PGScrub(e),
+  Request create_scrub(epoch_t e, uint64_t owner) {
+    return Request(OpQueueItem(unique_ptr<OpQueueItem::OpQueueable>(new PGScrub(spg_t(), e)),
                               12, 12,
                               utime_t(), owner, e));
   }
 
-  Request create_recovery(epoch_t e, const entity_inst_t& owner) {
-    return Request(spg_t(),
-                  PGQueueable(PGRecovery(e, 64),
+  Request create_recovery(epoch_t e, uint64_t owner) {
+    return Request(OpQueueItem(unique_ptr<OpQueueItem::OpQueueable>(new PGRecovery(spg_t(), e, 64)),
                               12, 12,
                               utime_t(), owner, e));
   }
@@ -67,16 +64,16 @@ public:
 
 TEST_F(MClockClientQueueTest, TestSize) {
   ASSERT_TRUE(q.empty());
-  ASSERT_EQ(0u, q.length());
+  ASSERT_EQ(0u, q.get_size_slow());
 
-  q.enqueue(client1, 12, 0, create_snaptrim(100, client1));
+  q.enqueue(client1, 12, 1u, create_snaptrim(100, client1));
   q.enqueue_strict(client2, 12, create_snaptrim(101, client2));
-  q.enqueue(client2, 12, 0, create_snaptrim(102, client2));
+  q.enqueue(client2, 12, 1u, create_snaptrim(102, client2));
   q.enqueue_strict(client3, 12, create_snaptrim(103, client3));
-  q.enqueue(client1, 12, 0, create_snaptrim(104, client1));
+  q.enqueue(client1, 12, 1u, create_snaptrim(104, client1));
 
   ASSERT_FALSE(q.empty());
-  ASSERT_EQ(5u, q.length());
+  ASSERT_EQ(5u, q.get_size_slow());
 
   std::list<Request> reqs;
 
@@ -85,52 +82,52 @@ TEST_F(MClockClientQueueTest, TestSize) {
   reqs.push_back(q.dequeue());
 
   ASSERT_FALSE(q.empty());
-  ASSERT_EQ(2u, q.length());
+  ASSERT_EQ(2u, q.get_size_slow());
 
-  q.enqueue_front(client2, 12, 0, reqs.back());
+  q.enqueue_front(client2, 12, 1u, std::move(reqs.back()));
   reqs.pop_back();
 
-  q.enqueue_strict_front(client3, 12, reqs.back());
+  q.enqueue_strict_front(client3, 12, std::move(reqs.back()));
   reqs.pop_back();
 
-  q.enqueue_strict_front(client2, 12, reqs.back());
+  q.enqueue_strict_front(client2, 12, std::move(reqs.back()));
   reqs.pop_back();
 
   ASSERT_FALSE(q.empty());
-  ASSERT_EQ(5u, q.length());
+  ASSERT_EQ(5u, q.get_size_slow());
 
   for (int i = 0; i < 5; ++i) {
     (void) q.dequeue();
   }
 
   ASSERT_TRUE(q.empty());
-  ASSERT_EQ(0u, q.length());
+  ASSERT_EQ(0u, q.get_size_slow());
 }
 
 
 TEST_F(MClockClientQueueTest, TestEnqueue) {
-  q.enqueue(client1, 12, 0, create_snaptrim(100, client1));
-  q.enqueue(client2, 12, 0, create_snaptrim(101, client2));
-  q.enqueue(client2, 12, 0, create_snaptrim(102, client2));
-  q.enqueue(client3, 12, 0, create_snaptrim(103, client3));
-  q.enqueue(client1, 12, 0, create_snaptrim(104, client1));
+  q.enqueue(client1, 12, 1u, create_snaptrim(100, client1));
+  q.enqueue(client2, 12, 1u, create_snaptrim(101, client2));
+  q.enqueue(client2, 12, 1u, create_snaptrim(102, client2));
+  q.enqueue(client3, 12, 1u, create_snaptrim(103, client3));
+  q.enqueue(client1, 12, 1u, create_snaptrim(104, client1));
 
   Request r = q.dequeue();
-  ASSERT_EQ(100u, r.second.get_map_epoch());
+  ASSERT_EQ(100u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(101u, r.second.get_map_epoch());
+  ASSERT_EQ(101u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(103u, r.second.get_map_epoch());
+  ASSERT_EQ(103u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_TRUE(r.second.get_map_epoch() == 102u ||
-              r.second.get_map_epoch() == 104u);
+  ASSERT_TRUE(r.get_map_epoch() == 102u ||
+              r.get_map_epoch() == 104u);
 
   r = q.dequeue();
-  ASSERT_TRUE(r.second.get_map_epoch() == 102u ||
-              r.second.get_map_epoch() == 104u);
+  ASSERT_TRUE(r.get_map_epoch() == 102u ||
+              r.get_map_epoch() == 104u);
 }
 
 
@@ -142,46 +139,46 @@ TEST_F(MClockClientQueueTest, TestEnqueueStrict) {
   q.enqueue_strict(client1, 15, create_snaptrim(104, client1));
 
   Request r = q.dequeue();
-  ASSERT_EQ(102u, r.second.get_map_epoch());
+  ASSERT_EQ(102u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(104u, r.second.get_map_epoch());
+  ASSERT_EQ(104u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(103u, r.second.get_map_epoch());
+  ASSERT_EQ(103u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(101u, r.second.get_map_epoch());
+  ASSERT_EQ(101u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(100u, r.second.get_map_epoch());
+  ASSERT_EQ(100u, r.get_map_epoch());
 }
 
 
 TEST_F(MClockClientQueueTest, TestRemoveByClass) {
-  q.enqueue(client1, 12, 0, create_snaptrim(100, client1));
+  q.enqueue(client1, 12, 1u, create_snaptrim(100, client1));
   q.enqueue_strict(client2, 12, create_snaptrim(101, client2));
-  q.enqueue(client2, 12, 0, create_snaptrim(102, client2));
+  q.enqueue(client2, 12, 1u, create_snaptrim(102, client2));
   q.enqueue_strict(client3, 12, create_snaptrim(103, client3));
-  q.enqueue(client1, 12, 0, create_snaptrim(104, client1));
+  q.enqueue(client1, 12, 1u, create_snaptrim(104, client1));
 
   std::list<Request> filtered_out;
   q.remove_by_class(client2, &filtered_out);
 
   ASSERT_EQ(2u, filtered_out.size());
   while (!filtered_out.empty()) {
-    auto e = filtered_out.front().second.get_map_epoch() ;
+    auto e = filtered_out.front().get_map_epoch() ;
     ASSERT_TRUE(e == 101 || e == 102);
     filtered_out.pop_front();
   }
 
-  ASSERT_EQ(3u, q.length());
+  ASSERT_EQ(3u, q.get_size_slow());
   Request r = q.dequeue();
-  ASSERT_EQ(103u, r.second.get_map_epoch());
+  ASSERT_EQ(103u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(100u, r.second.get_map_epoch());
+  ASSERT_EQ(100u, r.get_map_epoch());
 
   r = q.dequeue();
-  ASSERT_EQ(104u, r.second.get_map_epoch());
+  ASSERT_EQ(104u, r.get_map_epoch());
 }