]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/osd: move store responsiblity to PerShardState
authorSamuel Just <sjust@redhat.com>
Wed, 24 Aug 2022 23:50:57 +0000 (23:50 +0000)
committerSamuel Just <sjust@redhat.com>
Tue, 27 Sep 2022 02:35:41 +0000 (19:35 -0700)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/pg_shard_manager.cc
src/crimson/osd/shard_services.cc
src/crimson/osd/shard_services.h

index 47757d816a8d0a0766e4b733df41be7353edc243..2ad09d5d9d90ed9898992df64a03e169cbd306eb 100644 (file)
@@ -20,14 +20,14 @@ PGShardManager::PGShardManager(
   crimson::mgr::Client &mgrc,
   crimson::os::FuturizedStore &store)
   : osd_singleton_state(whoami, cluster_msgr, public_msgr,
-                       monc, mgrc, store),
-    local_state(whoami),
+                       monc, mgrc),
+    local_state(whoami, store),
     shard_services(osd_singleton_state, local_state)
 {}
 
 seastar::future<> PGShardManager::load_pgs()
 {
-  return osd_singleton_state.store.list_collections(
+  return local_state.store.list_collections(
   ).then([this](auto colls) {
     return seastar::parallel_for_each(
       colls,
index 8975187ed3c12f15f6d1212023350ee1efa49b6c..4a1f84aa318af2a9389c7eb0d5ff48b84097aac4 100644 (file)
@@ -34,8 +34,10 @@ using std::vector;
 namespace crimson::osd {
 
 PerShardState::PerShardState(
-  int whoami)
+  int whoami,
+  crimson::os::FuturizedStore &store)
   : whoami(whoami),
+    store(store),
     throttler(crimson::common::local_conf()),
     obc_registry(crimson::common::local_conf())
 {
@@ -94,15 +96,13 @@ OSDSingletonState::OSDSingletonState(
   crimson::net::Messenger &cluster_msgr,
   crimson::net::Messenger &public_msgr,
   crimson::mon::Client &monc,
-  crimson::mgr::Client &mgrc,
-  crimson::os::FuturizedStore &store)
+  crimson::mgr::Client &mgrc)
   : whoami(whoami),
     osdmap_gate("OSDSingletonState::osdmap_gate"),
     cluster_msgr(cluster_msgr),
     public_msgr(public_msgr),
     monc(monc),
     mgrc(mgrc),
-    store(store),
     local_reserver(
       &cct,
       &finisher,
index 29abcd2f7a38d5249be456d0089c26461fe0ae48..281b1cccf41f68a09a0f6ee2c1fe3f76c3446af2 100644 (file)
@@ -59,6 +59,7 @@ class PerShardState {
   using local_cached_map_t = OSDMapService::local_cached_map_t;
 
   const int whoami;
+  crimson::os::FuturizedStore &store;
   crimson::common::CephContext cct;
 
   PerfCounters *perf = nullptr;
@@ -122,7 +123,9 @@ class PerShardState {
     return std::make_pair(std::move(op), std::move(fut));
   }
 
-  PerShardState(int whoami);
+  PerShardState(
+    int whoami,
+    crimson::os::FuturizedStore &store);
 };
 
 /**
@@ -143,8 +146,7 @@ public:
     crimson::net::Messenger &cluster_msgr,
     crimson::net::Messenger &public_msgr,
     crimson::mon::Client &monc,
-    crimson::mgr::Client &mgrc,
-    crimson::os::FuturizedStore &store);
+    crimson::mgr::Client &mgrc);
 
   const int whoami;
 
@@ -172,8 +174,6 @@ public:
 
   crimson::mgr::Client &mgrc;
 
-  crimson::os::FuturizedStore &store;
-
   // tids for ops i issue
   unsigned int next_tid{0};
   ceph_tid_t get_tid() {
@@ -302,7 +302,7 @@ public:
   FORWARD_TO_OSD_SINGLETON(send_to_osd)
 
   crimson::os::FuturizedStore &get_store() {
-    return osd_singleton_state.store;
+    return local_state.store;
   }
 
   crimson::common::CephContext *get_cct() {