if (pg_temp_wanted.empty())
return seastar::now();
logger().debug("{}: {}", __func__, pg_temp_wanted);
- boost::intrusive_ptr<MOSDPGTemp> ms[2] = {nullptr, nullptr};
+ MURef<MOSDPGTemp> ms[2] = {nullptr, nullptr};
for (auto& [pgid, pg_temp] : pg_temp_wanted) {
auto& m = ms[pg_temp.forced];
if (!m) {
- m = make_message<MOSDPGTemp>(osdmap->get_epoch());
+ m = crimson::net::make_message<MOSDPGTemp>(osdmap->get_epoch());
m->forced = pg_temp.forced;
}
m->pg_temp.emplace(pgid, pg_temp.acting);
pg_temp_pending.merge(pg_temp_wanted);
pg_temp_wanted.clear();
return seastar::parallel_for_each(std::begin(ms), std::end(ms),
- [this](auto m) {
+ [this](auto& m) {
if (m) {
- return monc.send_message(m);
+ return monc.send_message(std::move(m));
} else {
return seastar::now();
}
auto o = get_osdmap();
ceph_assert(o->require_osd_release >= ceph_release_t::luminous);
pg_created.insert(pgid);
- return monc.send_message(make_message<MOSDPGCreated>(pgid));
+ return monc.send_message(crimson::net::make_message<MOSDPGCreated>(pgid));
}
seastar::future<> ShardServices::send_pg_created()
ceph_assert(o->require_osd_release >= ceph_release_t::luminous);
return seastar::parallel_for_each(pg_created,
[this](auto &pgid) {
- return monc.send_message(make_message<MOSDPGCreated>(pgid));
+ return monc.send_message(crimson::net::make_message<MOSDPGCreated>(pgid));
});
}
up_thru_wanted > up_thru) {
logger().debug("{} up_thru_wanted={} up_thru={}", __func__, want, up_thru);
return monc.send_message(
- make_message<MOSDAlive>(osdmap->get_epoch(), want));
+ crimson::net::make_message<MOSDAlive>(osdmap->get_epoch(), want));
} else {
logger().debug("{} {} <= {}", __func__, want, osdmap->get_up_thru(whoami));
return seastar::now();