]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/shard_services: load_map_bl() cache when loading from disc
authorMatan Breizman <mbreizma@redhat.com>
Wed, 22 Nov 2023 08:26:50 +0000 (08:26 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Wed, 27 Dec 2023 10:33:47 +0000 (10:33 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/osd/shard_services.cc

index d73a85fb5f85a667ef9992bf9a670ad0cc1fdea1..5e50e740fd3ecb9df6d09691fb1553b9180ddcd3 100644 (file)
@@ -387,7 +387,10 @@ seastar::future<bufferlist> OSDSingletonState::load_map_bl(
     return seastar::make_ready_future<bufferlist>(*found);
   } else {
     logger().debug("{} loading osdmap.{} from disk", __func__, e);
-    return meta_coll->load_map(e);
+    return meta_coll->load_map(e).then([this, e](auto&& bl) {
+      map_bl_cache.insert(e, bl);
+      return seastar::make_ready_future<bufferlist>(std::move(bl));
+    });
   }
 }