]> git.proxmox.com Git - ceph.git/blob - ceph/src/crimson/osd/osd_operations/common/pg_pipeline.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / crimson / osd / osd_operations / common / pg_pipeline.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3
4 #pragma once
5
6 #include "osd/osd_op_util.h"
7 #include "crimson/osd/osd_operation.h"
8
9 namespace crimson::osd {
10
11 class CommonPGPipeline {
12 protected:
13 friend class InternalClientRequest;
14 friend class SnapTrimEvent;
15 friend class SnapTrimObjSubEvent;
16
17 struct WaitForActive : OrderedExclusivePhaseT<WaitForActive> {
18 static constexpr auto type_name = "CommonPGPipeline:::wait_for_active";
19 } wait_for_active;
20 struct RecoverMissing : OrderedExclusivePhaseT<RecoverMissing> {
21 static constexpr auto type_name = "CommonPGPipeline::recover_missing";
22 } recover_missing;
23 struct GetOBC : OrderedExclusivePhaseT<GetOBC> {
24 static constexpr auto type_name = "CommonPGPipeline::get_obc";
25 } get_obc;
26 struct Process : OrderedExclusivePhaseT<Process> {
27 static constexpr auto type_name = "CommonPGPipeline::process";
28 } process;
29 };
30
31 } // namespace crimson::osd