} get_obc;
};
+struct PGRepopPipeline {
+ struct Process : OrderedExclusivePhaseT<Process> {
+ static constexpr auto type_name = "PGRepopPipeline::process";
+ } process;
+};
+
struct CommonOBCPipeline {
struct Process : OrderedExclusivePhaseT<Process> {
static constexpr auto type_name = "CommonOBCPipeline::process";
CommonOBCPipeline::Process::BlockingEvent::Backend,
CommonOBCPipeline::WaitRepop::BlockingEvent::Backend,
CommonOBCPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent::Backend,
- CommonOBCPipeline::SendReply::BlockingEvent::Backend
+ CommonOBCPipeline::SendReply::BlockingEvent::Backend,
+ PGRepopPipeline::Process::BlockingEvent::Backend
{
void handle(ClientRequest::StartEvent&,
const Operation&) override {}
const CommonOBCPipeline::SendReply& blocker) override {
}
+ void handle(PGRepopPipeline::Process::BlockingEvent& ev,
+ const Operation& op,
+ const PGRepopPipeline::Process& blocker) override {
+ }
void handle(ClientRequest::CompletionEvent&,
const Operation&) override {}
CommonOBCPipeline::Process::BlockingEvent::Backend,
CommonOBCPipeline::WaitRepop::BlockingEvent::Backend,
CommonOBCPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent::Backend,
- CommonOBCPipeline::SendReply::BlockingEvent::Backend
+ CommonOBCPipeline::SendReply::BlockingEvent::Backend,
+ PGRepopPipeline::Process::BlockingEvent::Backend
{
void handle(ClientRequest::StartEvent&,
const Operation&) override {}
const CommonOBCPipeline::SendReply& blocker) override {
}
+ void handle(PGRepopPipeline::Process::BlockingEvent& ev,
+ const Operation& op,
+ const PGRepopPipeline::Process& blocker) override {
+ }
+
void handle(ClientRequest::CompletionEvent&, const Operation& op) override {
if (crimson::common::local_conf()->osd_op_history_size) {
to_client_request(op).put_historic();
return shard_services.get_replicated_request_pipeline();
}
-ClientRequest::PGPipeline &LogMissingRequest::client_pp(PG &pg)
+PGRepopPipeline &LogMissingRequest::repop_pipeline(PG &pg)
{
- return pg.request_pg_pipeline;
+ return pg.repop_pipeline;
}
seastar::future<> LogMissingRequest::with_pg(
return interruptor::with_interruption([this, pg] {
LOG_PREFIX(LogMissingRequest::with_pg);
DEBUGI("{}: pg present", *this);
- return this->template enter_stage<interruptor>(client_pp(*pg).await_map
+ return this->template enter_stage<interruptor>(repop_pipeline(*pg).process
).then_interruptible([this, pg] {
return this->template with_blocking_event<
PG_OSDMapGate::OSDMapBlocker::BlockingEvent
ConnectionPipeline::AwaitMap::BlockingEvent,
ConnectionPipeline::GetPGMapping::BlockingEvent,
PerShardPipeline::CreateOrWaitPG::BlockingEvent,
- ClientRequest::PGPipeline::AwaitMap::BlockingEvent,
+ PGRepopPipeline::Process::BlockingEvent,
PG_OSDMapGate::OSDMapBlocker::BlockingEvent,
PGMap::PGCreationBlockingEvent,
OSD_OSDMapGate::OSDMapBlocker::BlockingEvent
> tracking_events;
private:
- ClientRequest::PGPipeline &client_pp(PG &pg);
+ PGRepopPipeline &repop_pipeline(PG &pg);
crimson::net::ConnectionRef l_conn;
crimson::net::ConnectionXcoreRef r_conn;
return shard_services.get_replicated_request_pipeline();
}
-ClientRequest::PGPipeline &RepRequest::client_pp(PG &pg)
+PGRepopPipeline &RepRequest::repop_pipeline(PG &pg)
{
- return pg.request_pg_pipeline;
+ return pg.repop_pipeline;
}
seastar::future<> RepRequest::with_pg(
return interruptor::with_interruption([this, pg] {
LOG_PREFIX(RepRequest::with_pg);
DEBUGI("{}: pg present", *this);
- return this->template enter_stage<interruptor>(client_pp(*pg).await_map
+ return this->template enter_stage<interruptor>(repop_pipeline(*pg).process
).then_interruptible([this, pg] {
return this->template with_blocking_event<
PG_OSDMapGate::OSDMapBlocker::BlockingEvent
ConnectionPipeline::AwaitMap::BlockingEvent,
ConnectionPipeline::GetPGMapping::BlockingEvent,
PerShardPipeline::CreateOrWaitPG::BlockingEvent,
- ClientRequest::PGPipeline::AwaitMap::BlockingEvent,
+ PGRepopPipeline::Process::BlockingEvent,
PG_OSDMapGate::OSDMapBlocker::BlockingEvent,
PGMap::PGCreationBlockingEvent,
OSD_OSDMapGate::OSDMapBlocker::BlockingEvent
> tracking_events;
private:
- ClientRequest::PGPipeline &client_pp(PG &pg);
+ PGRepopPipeline &repop_pipeline(PG &pg);
crimson::net::ConnectionRef l_conn;
crimson::net::ConnectionXcoreRef r_conn;
using cached_map_t = OSDMapService::cached_map_t;
ClientRequest::PGPipeline request_pg_pipeline;
+ PGRepopPipeline repop_pipeline;
PGPeeringPipeline peering_request_pg_pipeline;
ClientRequest::Orderer client_request_orderer;