]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/crimson/os/seastore/CMakeLists.txt
import quincy beta 17.1.0
[ceph.git] / ceph / src / crimson / os / seastore / CMakeLists.txt
index 77f8465cf9a665bcf64dd815f8b957f6fbbf87d6..55cfd425d84967c1f8405cca4644edc918090ca7 100644 (file)
@@ -1,24 +1,27 @@
-add_library(crimson-seastore STATIC
+set(crimson_seastore_srcs
   cached_extent.cc
   seastore_types.cc
+  segment_manager.cc
   segment_manager/ephemeral.cc
   segment_manager/block.cc
   transaction_manager.cc
+  transaction.cc
   journal.cc
   cache.cc
+  extent_reader.cc
   lba_manager.cc
   segment_cleaner.cc
   lba_manager/btree/btree_lba_manager.cc
-  lba_manager/btree/lba_btree_node_impl.cc
   lba_manager/btree/btree_range_pin.cc
+  lba_manager/btree/lba_btree.cc
+  lba_manager/btree/lba_btree_node.cc
+  omap_manager.cc
+  omap_manager/btree/btree_omap_manager.cc
+  omap_manager/btree/omap_btree_node_impl.cc
   onode.cc
-  onode_manager/simple-fltree/onode_block.cc
-  onode_manager/simple-fltree/onode_delta.cc
-  onode_manager/simple-fltree/onode_node.cc
   onode_manager/staged-fltree/node.cc
   onode_manager/staged-fltree/node_extent_manager.cc
   onode_manager/staged-fltree/node_extent_manager/seastore.cc
-  onode_manager/staged-fltree/node_extent_mutable.cc
   onode_manager/staged-fltree/node_impl.cc
   onode_manager/staged-fltree/stages/item_iterator_stage.cc
   onode_manager/staged-fltree/stages/key_layout.cc
@@ -26,12 +29,37 @@ add_library(crimson-seastore STATIC
   onode_manager/staged-fltree/stages/node_stage.cc
   onode_manager/staged-fltree/stages/sub_items_stage.cc
   onode_manager/staged-fltree/super.cc
-  onode_manager/staged-fltree/tree.cc
-  extentmap_manager.cc
-  extentmap_manager/btree/extentmap_btree_node_impl.cc
-  extentmap_manager/btree/btree_extentmap_manager.cc
+  onode_manager/staged-fltree/value.cc
+  onode_manager/staged-fltree/fltree_onode_manager.cc
+  collection_manager.cc
+  collection_manager/flat_collection_manager.cc
+  collection_manager/collection_flat_node.cc
+  extent_placement_manager.cc
+  object_data_handler.cc
   seastore.cc
+  random_block_manager/nvme_manager.cc
+  random_block_manager/nvmedevice.cc
   ../../../test/crimson/seastore/test_block.cc
+  ${PROJECT_SOURCE_DIR}/src/os/Transaction.cc
        )
+
+CMAKE_DEPENDENT_OPTION(WITH_ZNS "enable Linux ZNS support" OFF
+  "CMAKE_SYSTEM_NAME STREQUAL Linux" OFF)
+if(WITH_ZNS)
+  find_package(LinuxZNS REQUIRED)
+  list(APPEND crimson_seastore_srcs
+    segment_manager/zns.cc)
+endif()
+
+add_library(crimson-seastore STATIC
+  ${crimson_seastore_srcs})
+
 target_link_libraries(crimson-seastore
   crimson)
+if(WITH_ZNS)
+  target_link_libraries(crimson-seastore
+    Linux::ZNS)
+endif()
+
+set_target_properties(crimson-seastore PROPERTIES
+  JOB_POOL_COMPILE heavy_compile_job_pool)