]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/osd.h: declare osdmap after OSDSingletonState 57346/head
authorSamuel Just <sjust@redhat.com>
Mon, 18 Mar 2024 23:26:36 +0000 (23:26 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Wed, 8 May 2024 07:07:32 +0000 (10:07 +0300)
Otherwise, destructing the osdmap cached_map_t tries to manipulate
OSDSingletonState::osdmaps after it has already been destroyed.

Fixes: https://tracker.ceph.com/issues/64935
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit b623594c44df1c7d75fa7a8d4e8b90f8829d249f)

src/crimson/osd/osd.h

index db30ad0ec7373887804806913c75beadd0028347..fa3b0293072b8ce96305874cc3a1a37c9554897a 100644 (file)
@@ -80,7 +80,6 @@ class OSD final : public crimson::net::Dispatcher,
   std::unique_ptr<crimson::mgr::Client> mgrc;
 
   // TODO: use a wrapper for ObjectStore
-  OSDMapService::cached_map_t osdmap;
   crimson::os::FuturizedStore& store;
 
   /// _first_ epoch we were marked up (after this process started)
@@ -122,6 +121,8 @@ class OSD final : public crimson::net::Dispatcher,
   seastar::sharded<OSDState> osd_states;
   seastar::sharded<ShardServices> shard_services;
 
+  OSDMapService::cached_map_t osdmap;
+
   crimson::osd::PGShardManager pg_shard_manager;
 
   std::unique_ptr<Heartbeat> heartbeat;