spg_t pgid = m->get_spg();
return pg_shard_manager.with_pg(
pgid,
- [conn=std::move(conn), m=std::move(m)](auto &&pg) {
+ [m=std::move(m)](auto &&pg) {
if (pg) {
m->finish_decode();
- pg->handle_rep_op_reply(conn, *m);
+ pg->handle_rep_op_reply(*m);
} else {
logger().warn("stale reply: {}", *m);
}
class ClientRequest final : public PhasedOperationT<ClientRequest>,
private CommonClientRequest {
OSD &osd;
- const crimson::net::ConnectionRef conn;
+ crimson::net::ConnectionFRef conn;
+
// must be after conn due to ConnectionPipeline's life-time
Ref<MOSDOp> m;
OpInfo op_info;
private:
RepRequest::PGPipeline &pp(PG &pg);
- crimson::net::ConnectionRef conn;
+ crimson::net::ConnectionFRef conn;
// must be after `conn` to ensure the ConnectionPipeline's is alive
PipelineHandle handle;
Ref<MOSDPGUpdateLogMissing> req;
private:
RepRequest::PGPipeline &pp(PG &pg);
- crimson::net::ConnectionRef conn;
+ crimson::net::ConnectionFRef conn;
// must be after `conn` to ensure the ConnectionPipeline's is alive
PipelineHandle handle;
Ref<MOSDPGUpdateLogMissingReply> req;
class RemotePeeringEvent : public PeeringEvent<RemotePeeringEvent> {
protected:
- crimson::net::ConnectionRef conn;
+ crimson::net::ConnectionFRef conn;
// must be after conn due to ConnectionPipeline's life-time
PipelineHandle handle;
> tracking_events;
private:
- crimson::net::ConnectionRef conn;
+ crimson::net::ConnectionFRef conn;
// must be after `conn` to ensure the ConnectionPipeline's is alive
PipelineHandle handle;
Ref<MOSDFastDispatchOp> m;
private:
PGPipeline &pp(PG &pg);
- crimson::net::ConnectionRef conn;
+ crimson::net::ConnectionFRef conn;
PipelineHandle handle;
Ref<MOSDRepOp> req;
};
});
}
-void PG::handle_rep_op_reply(crimson::net::ConnectionRef conn,
- const MOSDRepOpReply& m)
+void PG::handle_rep_op_reply(const MOSDRepOpReply& m)
{
if (!can_discard_replica_op(m)) {
backend->got_rep_op_reply(m);
with_obc_func_t&& f);
interruptible_future<> handle_rep_op(Ref<MOSDRepOp> m);
- void handle_rep_op_reply(crimson::net::ConnectionRef conn,
- const MOSDRepOpReply& m);
+ void handle_rep_op_reply(const MOSDRepOpReply& m);
interruptible_future<> do_update_log_missing(Ref<MOSDPGUpdateLogMissing> m);
interruptible_future<> do_update_log_missing_reply(
Ref<MOSDPGUpdateLogMissingReply> m);