} create_or_wait_pg;
};
+struct PGPeeringPipeline {
+ struct AwaitMap : OrderedExclusivePhaseT<AwaitMap> {
+ static constexpr auto type_name = "PeeringEvent::PGPipeline::await_map";
+ } await_map;
+ struct Process : OrderedExclusivePhaseT<Process> {
+ static constexpr auto type_name = "PeeringEvent::PGPipeline::process";
+ } process;
+};
+
+struct CommonPGPipeline {
+ struct WaitForActive : OrderedExclusivePhaseT<WaitForActive> {
+ static constexpr auto type_name = "CommonPGPipeline:::wait_for_active";
+ } wait_for_active;
+ struct RecoverMissing : OrderedConcurrentPhaseT<RecoverMissing> {
+ static constexpr auto type_name = "CommonPGPipeline::recover_missing";
+ } recover_missing;
+ struct CheckAlreadyCompleteGetObc : OrderedExclusivePhaseT<CheckAlreadyCompleteGetObc> {
+ static constexpr auto type_name = "CommonPGPipeline::check_already_complete_get_obc";
+ } check_already_complete_get_obc;
+ struct LockOBC : OrderedConcurrentPhaseT<LockOBC> {
+ static constexpr auto type_name = "CommonPGPipeline::lock_obc";
+ } lock_obc;
+ struct Process : OrderedExclusivePhaseT<Process> {
+ static constexpr auto type_name = "CommonPGPipeline::process";
+ } process;
+ struct WaitRepop : OrderedConcurrentPhaseT<WaitRepop> {
+ static constexpr auto type_name = "ClientRequest::PGPipeline::wait_repop";
+ } wait_repop;
+};
+
+
enum class OperationTypeCode {
client_request = 0,
peering_event,
#include "crimson/osd/osdmap_gate.h"
#include "crimson/osd/osd_operation.h"
#include "crimson/osd/osd_operations/client_request_common.h"
-#include "crimson/osd/osd_operations/common/pg_pipeline.h"
#include "crimson/osd/pg_activation_blocker.h"
#include "crimson/osd/pg_map.h"
#include "crimson/osd/scrub/pg_scrubber.h"
+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#pragma once
-
-#include "osd/osd_op_util.h"
-#include "crimson/osd/osd_operation.h"
-
-namespace crimson::osd {
-
-class CommonPGPipeline {
-protected:
- friend class InternalClientRequest;
- friend class SnapTrimEvent;
- friend class SnapTrimObjSubEvent;
-
- struct WaitForActive : OrderedExclusivePhaseT<WaitForActive> {
- static constexpr auto type_name = "CommonPGPipeline:::wait_for_active";
- } wait_for_active;
- struct RecoverMissing : OrderedConcurrentPhaseT<RecoverMissing> {
- static constexpr auto type_name = "CommonPGPipeline::recover_missing";
- } recover_missing;
- struct CheckAlreadyCompleteGetObc : OrderedExclusivePhaseT<CheckAlreadyCompleteGetObc> {
- static constexpr auto type_name = "CommonPGPipeline::check_already_complete_get_obc";
- } check_already_complete_get_obc;
- struct LockOBC : OrderedConcurrentPhaseT<LockOBC> {
- static constexpr auto type_name = "CommonPGPipeline::lock_obc";
- } lock_obc;
- struct Process : OrderedExclusivePhaseT<Process> {
- static constexpr auto type_name = "CommonPGPipeline::process";
- } process;
- struct WaitRepop : OrderedConcurrentPhaseT<WaitRepop> {
- static constexpr auto type_name = "ClientRequest::PGPipeline::wait_repop";
- } wait_repop;
-};
-
-} // namespace crimson::osd
#include "crimson/common/type_helpers.h"
#include "crimson/osd/osd_operation.h"
#include "crimson/osd/osd_operations/client_request_common.h"
-#include "crimson/osd/osd_operations/common/pg_pipeline.h"
#include "crimson/osd/pg.h"
#include "crimson/osd/pg_activation_blocker.h"
class PG;
class BackfillRecovery;
- struct PGPeeringPipeline {
- struct AwaitMap : OrderedExclusivePhaseT<AwaitMap> {
- static constexpr auto type_name = "PeeringEvent::PGPipeline::await_map";
- } await_map;
- struct Process : OrderedExclusivePhaseT<Process> {
- static constexpr auto type_name = "PeeringEvent::PGPipeline::process";
- } process;
- };
-
template <class T>
class PeeringEvent : public PhasedOperationT<T> {
T* that() {
#include "crimson/osd/osdmap_gate.h"
#include "crimson/osd/osd_operation.h"
#include "crimson/common/subop_blocker.h"
-#include "crimson/osd/osd_operations/common/pg_pipeline.h"
#include "crimson/osd/pg.h"
#include "crimson/osd/pg_activation_blocker.h"
#include "osd/osd_types.h"