]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Adapt unittest for multi bdev label
authorAdam Kupczyk <akupczyk@ibm.com>
Tue, 13 Feb 2024 12:57:26 +0000 (12:57 +0000)
committerPere Diaz Bou <pere-altea@hotmail.com>
Fri, 23 Aug 2024 09:49:25 +0000 (11:49 +0200)
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 6acad6d19e99425bf336ecb01a879d789c18acdc)

src/test/objectstore/store_test.cc

index 9674fdd30145bad771fdfbab49da4f0030b0ec79..f3d09755327bc0978268e2987b51e92eac082d4b 100644 (file)
@@ -219,6 +219,16 @@ class MultiLabelTest : public StoreTestDeferredSetup {
     if (r != 0) return false;
     return true;
   }
+  bool read_bdev_label(bluestore_bdev_label_t* label, uint64_t position) {
+    string bdev_path = get_data_dir() + "/block";
+    int r = BlueStore::read_bdev_label(g_ceph_context, bdev_path, label, position);
+    return r;
+  }
+  bool write_bdev_label(const bluestore_bdev_label_t& label, uint64_t position) {
+    string bdev_path = get_data_dir() + "/block";
+    int r = BlueStore::write_bdev_label(g_ceph_context, bdev_path, label, position);
+    return r;
+  }
   protected:
   void DeferredSetup() {
     StoreTest::SetUp();
@@ -10373,8 +10383,7 @@ TEST_P(MultiLabelTest, MultiSelectableOff) {
   }
   umount();
   bluestore_bdev_label_t label;
-  int r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  int r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   ASSERT_EQ(label.meta.end(), label.meta.find("multi"));
   mount();
@@ -10389,8 +10398,7 @@ TEST_P(MultiLabelTest, MultiSelectableOn) {
   }
   umount();
   bluestore_bdev_label_t label;
-  int r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  int r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   auto it = label.meta.find("multi");
   ASSERT_NE(label.meta.end(), it);
@@ -10508,15 +10516,13 @@ TEST_P(MultiLabelTest, SkipInvalidUUID) {
   umount();
   int r;
   bluestore_bdev_label_t label;
-  r = BlueStore::debug_read_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", &label, 0);
+  r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   label.meta["epoch"] = "1";
   uuid_d new_id;
   new_id.generate_random();
   label.osd_uuid = new_id;
-  r = BlueStore::debug_write_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", label, 0);
+  r = write_bdev_label(label, 0);
   ASSERT_EQ(r, 0);
 
   ASSERT_EQ(store->fsck(false), 1);
@@ -10538,24 +10544,19 @@ TEST_P(MultiLabelTest, FailAllInvalidUUID) {
   umount();
   int r;
   bluestore_bdev_label_t label;
-  r = BlueStore::debug_read_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", &label, 0);
+  r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   label.meta["epoch"] = "1";
   uuid_d new_id;
   new_id.generate_random();
   label.osd_uuid = new_id;
-  r = BlueStore::debug_write_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", label, 0);
+  r = write_bdev_label(label, 0);
   ASSERT_EQ(r, 0);
-  r = BlueStore::debug_write_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", label, _1G);
+  r = write_bdev_label(label, _1G);
   ASSERT_EQ(r, 0);
-  r = BlueStore::debug_write_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", label, 10 * _1G);
+  r = write_bdev_label(label, 10 * _1G);
   ASSERT_EQ(r, 0);
-  r = BlueStore::debug_write_bdev_label(g_ceph_context,
-    get_data_dir()+"/block", label, 100 * _1G);
+  r = write_bdev_label(label, 100 * _1G);
   ASSERT_EQ(r, 0);
 
   ASSERT_EQ(store->fsck(false), -2); // this is complete failure
@@ -10576,20 +10577,17 @@ TEST_P(MultiLabelTest, SelectNewestLabel) {
   }
   umount();
   bluestore_bdev_label_t label;
-  int r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  int r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   auto it = label.meta.find("epoch");
   ASSERT_NE(it, label.meta.end());
   it->second += "1"; //APPEND "1", not add
   label.meta["canary"]="alive";
-  r = BlueStore::_write_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", label, {_1G});
+  r = write_bdev_label(label, _1G);
   ASSERT_EQ(r, 0);
   ASSERT_EQ(store->fsck(false), 3);
   ASSERT_EQ(store->repair(false), 0);
-  r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   ASSERT_EQ(label.meta["canary"], "alive");
 }
@@ -10608,8 +10606,7 @@ TEST_P(MultiLabelTest, UpgradeToMultiLabel) {
   ASSERT_EQ(store->repair(false), 0);
   ASSERT_EQ(store->fsck(false), 0);
   bluestore_bdev_label_t label;
-  int r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  int r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   auto it = label.meta.find("epoch");
   ASSERT_NE(it, label.meta.end());
@@ -10639,8 +10636,7 @@ TEST_P(MultiLabelTest, UpgradeToMultiLabelCollisionWithBlueFS) {
   ASSERT_EQ(store->repair(false), 1);
   ASSERT_EQ(store->fsck(false), 1);
   bluestore_bdev_label_t label;
-  int r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  int r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   auto it = label.meta.find("epoch");
   ASSERT_NE(it, label.meta.end());
@@ -10688,8 +10684,7 @@ TEST_P(MultiLabelTest, UpgradeToMultiLabelCollisionWithObjects) {
   ASSERT_EQ(store->repair(false), 0);
   ASSERT_EQ(store->fsck(false), 0);
   bluestore_bdev_label_t label;
-  int r = BlueStore::_read_bdev_label(
-    g_ceph_context, get_data_dir() + "/block", &label, 0);
+  int r = read_bdev_label(&label, 0);
   ASSERT_EQ(r, 0);
   auto it = label.meta.find("epoch");
   ASSERT_NE(it, label.meta.end());