]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: settle SnapMapper within crimson'o PG
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 24 Nov 2022 16:26:38 +0000 (16:26 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 28 Feb 2023 16:22:04 +0000 (16:22 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/CMakeLists.txt
src/crimson/osd/pg.cc
src/crimson/osd/pg.h

index 3b7c7a3f58e76e5356bc22e93434d588cc24e104..4b24b5a654ca9fb036e2703264d345b2d5c17baa 100644 (file)
@@ -46,6 +46,7 @@ add_executable(crimson-osd
   ${PROJECT_SOURCE_DIR}/src/osd/PGStateUtils.cc
   ${PROJECT_SOURCE_DIR}/src/osd/MissingLoc.cc
   ${PROJECT_SOURCE_DIR}/src/osd/PGLog.cc
+  ${PROJECT_SOURCE_DIR}/src/osd/SnapMapper.cc
   ${PROJECT_SOURCE_DIR}/src/osd/recovery_types.cc
   ${PROJECT_SOURCE_DIR}/src/osd/osd_perf_counters.cc
   watch.cc
index 679099a92724cf9688715f6924e0341682feb14f..fdba4d49a5a15f61906733ef3e1c6277cc9ca1af 100644 (file)
@@ -142,6 +142,17 @@ PG::PG(
       obc_registry,
       *backend.get(),
       *this},
+    osdriver(
+      &shard_services.get_store(),
+      coll_ref,
+      pgid.make_pgmeta_oid()),
+    snap_mapper(
+      this->shard_services.get_cct(),
+      &osdriver,
+      pgid.ps(),
+      pgid.get_split_bits(pool.get_pg_num()),
+      pgid.pool(),
+      pgid.shard),
     wait_for_active_blocker(this)
 {
   peering_state.set_backend_predicates(
index 48e4d1fd210c70c05ac701c8d3425e2244f3ef52..dfbb8acace8178ae4b987859ed2ebd00360c6fb9 100644 (file)
@@ -17,6 +17,7 @@
 #include "osd/osd_types.h"
 #include "crimson/osd/object_context.h"
 #include "osd/PeeringState.h"
+#include "osd/SnapMapper.h"
 
 #include "crimson/common/interruptible_future.h"
 #include "crimson/common/type_helpers.h"
@@ -614,6 +615,11 @@ public:
   ObjectContextRegistry obc_registry;
   ObjectContextLoader obc_loader;
 
+private:
+  OSDriver osdriver;
+  SnapMapper snap_mapper;
+
+public:
   // PeeringListener
   void publish_stats_to_osd() final;
   void clear_publish_stats() final;