From: Matan Breizman Date: Wed, 1 Feb 2023 09:32:53 +0000 (+0000) Subject: crimson/osd: Rename MOSDMap::oldest_map users X-Git-Tag: v18.1.0~278^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f92107d99f4ee6a521e994728418ce7cffd2d95;p=ceph.git crimson/osd: Rename MOSDMap::oldest_map users Signed-off-by: Matan Breizman --- diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index 0d282327e65..03b002a2a96 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -667,6 +667,8 @@ void OSD::dump_status(Formatter* f) const f->dump_unsigned("whoami", superblock.whoami); f->dump_string("state", pg_shard_manager.get_osd_state_string()); f->dump_unsigned("oldest_map", superblock.oldest_map); + f->dump_unsigned("cluster_osdmap_trim_lower_bound", + superblock.cluster_osdmap_trim_lower_bound); f->dump_unsigned("newest_map", superblock.newest_map); f->dump_unsigned("num_pgs", pg_shard_manager.get_num_pgs()); } @@ -857,7 +859,8 @@ seastar::future<> OSD::handle_osd_map(crimson::net::ConnectionRef conn, const auto first = m->get_first(); const auto last = m->get_last(); logger().info("handle_osd_map epochs [{}..{}], i have {}, src has [{}..{}]", - first, last, superblock.newest_map, m->oldest_map, m->newest_map); + first, last, superblock.newest_map, + m->cluster_osdmap_trim_lower_bound, m->newest_map); // make sure there is something new, here, before we bother flushing // the queues and such if (last <= superblock.newest_map) { @@ -869,15 +872,16 @@ seastar::future<> OSD::handle_osd_map(crimson::net::ConnectionRef conn, if (first > start) { logger().info("handle_osd_map message skips epochs {}..{}", start, first - 1); - if (m->oldest_map <= start) { + if (m->cluster_osdmap_trim_lower_bound <= start) { return get_shard_services().osdmap_subscribe(start, false); } // always try to get the full range of maps--as many as we can. this // 1- is good to have // 2- is at present the only way to ensure that we get a *full* map as // the first map! - if (m->oldest_map < first) { - return get_shard_services().osdmap_subscribe(m->oldest_map - 1, true); + if (m->cluster_osdmap_trim_lower_bound < first) { + return get_shard_services().osdmap_subscribe( + m->cluster_osdmap_trim_lower_bound - 1, true); } skip_maps = true; start = first; @@ -984,7 +988,8 @@ seastar::future<> OSD::committed_osd_maps(version_t first, logger().info("osd.{}: now preboot", whoami); if (m->get_source().is_mon()) { - return _preboot(m->oldest_map, m->newest_map); + return _preboot( + m->cluster_osdmap_trim_lower_bound, m->newest_map); } else { logger().info("osd.{}: start_boot", whoami); return start_boot(); diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index a1d2580b358..94ab24ee098 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -689,7 +689,7 @@ seastar::future<> OSDSingletonState::send_incremental_map( auto m = crimson::make_message( monc.get_fsid(), osdmap->get_encoding_features()); - m->oldest_map = first; + m->cluster_osdmap_trim_lower_bound = first; m->newest_map = superblock.newest_map; m->maps = std::move(bls); return conn.send(std::move(m)); @@ -700,7 +700,13 @@ seastar::future<> OSDSingletonState::send_incremental_map( auto m = crimson::make_message( monc.get_fsid(), osdmap->get_encoding_features()); - m->oldest_map = superblock.oldest_map; + /* TODO: once we support the tracking of superblock's + * cluster_osdmap_trim_lower_bound, the MOSDMap should + * be populated with this value instead of the oldest_map. + * See: OSD::handle_osd_map for how classic updates the + * cluster's trim lower bound. + */ + m->cluster_osdmap_trim_lower_bound = superblock.oldest_map; m->newest_map = superblock.newest_map; m->maps.emplace(osdmap->get_epoch(), std::move(bl)); return conn.send(std::move(m));