]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/store_test: add BlueFS reserved space tests
authorIgor Fedotov <igor.fedotov@croit.io>
Fri, 7 Mar 2025 17:35:42 +0000 (20:35 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Fri, 21 Mar 2025 17:26:18 +0000 (20:26 +0300)
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
src/test/objectstore/store_test.cc

index 6ac52b657b87f7ee53a5fd224c519510d5da20fd..5ab0694031c091771aeffb82a696d53fe11217c3 100644 (file)
@@ -11970,6 +11970,32 @@ TEST_P(StoreTestOmapUpgrade, LargeLegacyToPG) {
   }
 }
 
+TEST_P(StoreTestSpecificAUSize, BlueFSReservedTest) {
+  if (string(GetParam()) != "bluestore")
+    return;
+
+  uint64_t db_size = 1ull << 32; // 4GiB
+  uint64_t wal_extra = 0x10000;
+  uint64_t wal_size = db_size + wal_extra; // 4GiB + 64K
+  SetVal(g_conf(), "bluestore_block_db_create", "true");
+  SetVal(g_conf(), "bluestore_block_db_size", stringify(db_size).c_str());
+  SetVal(g_conf(), "bluestore_block_wal_create", "true");
+  SetVal(g_conf(), "bluestore_block_wal_size", stringify(wal_size).c_str());
+
+  g_conf().apply_changes(nullptr);
+
+  StartDeferred(65536);
+  BlueStore* bstore = dynamic_cast<BlueStore*> (store.get());
+  ceph_assert(bstore);
+  BlueFS* fs = bstore->get_bluefs();
+
+  ASSERT_EQ(fs->get_full_reserved(BlueFS::BDEV_DB),
+            g_conf()->bluefs_alloc_size);
+
+  ASSERT_EQ(fs->get_full_reserved(BlueFS::BDEV_WAL),
+            wal_extra);
+}
+
 #endif  // WITH_BLUESTORE
 
 int main(int argc, char **argv) {