Skip to content

Commit 43bf04e

Browse files
committed
crimson/osd: don't ignore start_pg_operation returned future
Signed-off-by: Matan Breizman <[email protected]>
1 parent 3f1e887 commit 43bf04e

File tree

1 file changed

+18
-23
lines changed

1 file changed

+18
-23
lines changed

src/crimson/osd/osd.cc

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,17 +1016,17 @@ seastar::future<> OSD::committed_osd_maps(version_t first,
10161016
seastar::future<> OSD::handle_osd_op(crimson::net::ConnectionRef conn,
10171017
Ref<MOSDOp> m)
10181018
{
1019-
(void) pg_shard_manager.start_pg_operation<ClientRequest>(
1019+
return pg_shard_manager.start_pg_operation<ClientRequest>(
10201020
get_shard_services(),
10211021
conn,
1022-
std::move(m));
1023-
return seastar::now();
1022+
std::move(m)).second;
10241023
}
10251024

10261025
seastar::future<> OSD::handle_pg_create(crimson::net::ConnectionRef conn,
10271026
Ref<MOSDPGCreate2> m)
10281027
{
1029-
for (auto& [pgid, when] : m->pgs) {
1028+
return seastar::do_for_each(m->pgs, [this, conn, m](auto& pg) {
1029+
auto& [pgid, when] = pg;
10301030
const auto &[created, created_stamp] = when;
10311031
auto q = m->pg_extra.find(pgid);
10321032
ceph_assert(q != m->pg_extra.end());
@@ -1043,51 +1043,48 @@ seastar::future<> OSD::handle_pg_create(crimson::net::ConnectionRef conn,
10431043
"unmatched past_intervals {} (history {})",
10441044
pgid, m->epoch,
10451045
pi, history);
1046+
return seastar::now();
10461047
} else {
1047-
std::ignore = pg_shard_manager.start_pg_operation<RemotePeeringEvent>(
1048+
return pg_shard_manager.start_pg_operation<RemotePeeringEvent>(
10481049
conn,
10491050
pg_shard_t(),
10501051
pgid,
10511052
m->epoch,
10521053
m->epoch,
10531054
NullEvt(),
10541055
true,
1055-
new PGCreateInfo(pgid, m->epoch, history, pi, true));
1056+
new PGCreateInfo(pgid, m->epoch, history, pi, true)).second;
10561057
}
1057-
}
1058-
return seastar::now();
1058+
});
10591059
}
10601060

10611061
seastar::future<> OSD::handle_update_log_missing(
10621062
crimson::net::ConnectionRef conn,
10631063
Ref<MOSDPGUpdateLogMissing> m)
10641064
{
10651065
m->decode_payload();
1066-
(void) pg_shard_manager.start_pg_operation<LogMissingRequest>(
1066+
return pg_shard_manager.start_pg_operation<LogMissingRequest>(
10671067
std::move(conn),
1068-
std::move(m));
1069-
return seastar::now();
1068+
std::move(m)).second;
10701069
}
10711070

10721071
seastar::future<> OSD::handle_update_log_missing_reply(
10731072
crimson::net::ConnectionRef conn,
10741073
Ref<MOSDPGUpdateLogMissingReply> m)
10751074
{
10761075
m->decode_payload();
1077-
(void) pg_shard_manager.start_pg_operation<LogMissingRequestReply>(
1076+
return pg_shard_manager.start_pg_operation<LogMissingRequestReply>(
10781077
std::move(conn),
1079-
std::move(m));
1080-
return seastar::now();
1078+
std::move(m)).second;
10811079
}
10821080

10831081
seastar::future<> OSD::handle_rep_op(crimson::net::ConnectionRef conn,
10841082
Ref<MOSDRepOp> m)
10851083
{
10861084
m->finish_decode();
1087-
std::ignore = pg_shard_manager.start_pg_operation<RepRequest>(
1085+
return pg_shard_manager.start_pg_operation<RepRequest>(
10881086
std::move(conn),
1089-
std::move(m));
1090-
return seastar::now();
1087+
std::move(m)).second;
10911088
}
10921089

10931090
seastar::future<> OSD::handle_rep_op_reply(crimson::net::ConnectionRef conn,
@@ -1139,9 +1136,8 @@ seastar::future<> OSD::handle_mark_me_down(crimson::net::ConnectionRef conn,
11391136
seastar::future<> OSD::handle_recovery_subreq(crimson::net::ConnectionRef conn,
11401137
Ref<MOSDFastDispatchOp> m)
11411138
{
1142-
std::ignore = pg_shard_manager.start_pg_operation<RecoverySubRequest>(
1143-
conn, std::move(m));
1144-
return seastar::now();
1139+
return pg_shard_manager.start_pg_operation<RecoverySubRequest>(
1140+
conn, std::move(m)).second;
11451141
}
11461142

11471143
bool OSD::should_restart() const
@@ -1234,12 +1230,11 @@ seastar::future<> OSD::handle_peering_op(
12341230
logger().debug("handle_peering_op on {} from {}", m->get_spg(), from);
12351231
m->set_features(conn->get_features());
12361232
std::unique_ptr<PGPeeringEvent> evt(m->get_event());
1237-
(void) pg_shard_manager.start_pg_operation<RemotePeeringEvent>(
1233+
return pg_shard_manager.start_pg_operation<RemotePeeringEvent>(
12381234
conn,
12391235
pg_shard_t{from, m->get_spg().shard},
12401236
m->get_spg(),
1241-
std::move(*evt));
1242-
return seastar::now();
1237+
std::move(*evt)).second;
12431238
}
12441239

12451240
seastar::future<> OSD::check_osdmap_features()

0 commit comments

Comments
 (0)