From: Matan Date: Sun, 2 Jul 2023 10:53:25 +0000 (+0300) Subject: Merge pull request #52032 from Matan-B/wip-matanb-crimson-no-ignore X-Git-Tag: v19.0.0~949 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=55fcd872218d3dcd840a2a1a753f6335d6562a1e;p=ceph.git Merge pull request #52032 from Matan-B/wip-matanb-crimson-no-ignore crimson/osd: don't ignore start_pg_operation returned future Reviewed-by: Samuel Just --- 55fcd872218d3dcd840a2a1a753f6335d6562a1e diff --cc src/crimson/osd/osd.cc index 44fe8fd6410e1,8bc05deddccab..342a8225dd9bc --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@@ -1142,22 -1013,20 +1142,22 @@@ seastar::future<> OSD::ShardDispatcher: }); } -seastar::future<> OSD::handle_osd_op(crimson::net::ConnectionRef conn, - Ref m) +seastar::future<> OSD::ShardDispatcher::handle_osd_op( + crimson::net::ConnectionRef conn, + Ref m) { - (void) pg_shard_manager.start_pg_operation( + return pg_shard_manager.start_pg_operation( get_shard_services(), conn, - std::move(m)); - return seastar::now(); + std::move(m)).second; } -seastar::future<> OSD::handle_pg_create(crimson::net::ConnectionRef conn, - Ref m) +seastar::future<> OSD::ShardDispatcher::handle_pg_create( + crimson::net::ConnectionRef conn, + Ref m) { - for (auto& [pgid, when] : m->pgs) { + return seastar::do_for_each(m->pgs, [this, conn, m](auto& pg) { + auto& [pgid, when] = pg; const auto &[created, created_stamp] = when; auto q = m->pg_extra.find(pgid); ceph_assert(q != m->pg_extra.end()); @@@ -1183,48 -1053,42 +1184,44 @@@ m->epoch, NullEvt(), true, - new PGCreateInfo(pgid, m->epoch, history, pi, true)); + new PGCreateInfo(pgid, m->epoch, history, pi, true)).second; } - } - return seastar::now(); + }); } -seastar::future<> OSD::handle_update_log_missing( +seastar::future<> OSD::ShardDispatcher::handle_update_log_missing( crimson::net::ConnectionRef conn, Ref m) { m->decode_payload(); - (void) pg_shard_manager.start_pg_operation( + return pg_shard_manager.start_pg_operation( std::move(conn), - std::move(m)); - return seastar::now(); + std::move(m)).second; } -seastar::future<> OSD::handle_update_log_missing_reply( +seastar::future<> OSD::ShardDispatcher::handle_update_log_missing_reply( crimson::net::ConnectionRef conn, Ref m) { m->decode_payload(); - (void) pg_shard_manager.start_pg_operation( + return pg_shard_manager.start_pg_operation( std::move(conn), - std::move(m)); - return seastar::now(); + std::move(m)).second; } -seastar::future<> OSD::handle_rep_op(crimson::net::ConnectionRef conn, - Ref m) +seastar::future<> OSD::ShardDispatcher::handle_rep_op( + crimson::net::ConnectionRef conn, + Ref m) { m->finish_decode(); - std::ignore = pg_shard_manager.start_pg_operation( + return pg_shard_manager.start_pg_operation( std::move(conn), - std::move(m)); - return seastar::now(); + std::move(m)).second; } -seastar::future<> OSD::handle_rep_op_reply(crimson::net::ConnectionRef conn, - Ref m) +seastar::future<> OSD::ShardDispatcher::handle_rep_op_reply( + crimson::net::ConnectionRef conn, + Ref m) { spg_t pgid = m->get_spg(); return pg_shard_manager.with_pg( @@@ -1272,13 -1133,11 +1269,12 @@@ seastar::future<> OSD::ShardDispatcher: return seastar::now(); } -seastar::future<> OSD::handle_recovery_subreq(crimson::net::ConnectionRef conn, - Ref m) +seastar::future<> OSD::ShardDispatcher::handle_recovery_subreq( + crimson::net::ConnectionRef conn, + Ref m) { - std::ignore = pg_shard_manager.start_pg_operation( - conn, std::move(m)); - return seastar::now(); + return pg_shard_manager.start_pg_operation( + conn, std::move(m)).second; } bool OSD::should_restart() const @@@ -1375,14 -1234,13 +1371,13 @@@ seastar::future<> OSD::ShardDispatcher: conn, pg_shard_t{from, m->get_spg().shard}, m->get_spg(), - std::move(*evt)); - return seastar::now(); + std::move(*evt)).second; } -seastar::future<> OSD::check_osdmap_features() +seastar::future<> OSD::ShardDispatcher::check_osdmap_features() { return store.write_meta("require_osd_release", - stringify((int)osdmap->require_osd_release)); + stringify((int)osd.osdmap->require_osd_release)); } seastar::future<> OSD::prepare_to_stop()