From: Radosław Zarzyński Date: Fri, 15 Apr 2022 16:10:20 +0000 (+0200) Subject: crimson/osd: migrate PGAdvanceMap to new tracking infra. X-Git-Tag: v18.0.0~947^2~17 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=11ed546e10e48a5d0737798f009c9d0b7683b864;p=ceph-ci.git crimson/osd: migrate PGAdvanceMap to new tracking infra. Signed-off-by: Radosław Zarzyński --- diff --git a/src/crimson/osd/osd_operation_external_tracking.h b/src/crimson/osd/osd_operation_external_tracking.h index 1076fdf52ea..b7b56a9a147 100644 --- a/src/crimson/osd/osd_operation_external_tracking.h +++ b/src/crimson/osd/osd_operation_external_tracking.h @@ -8,6 +8,7 @@ #include "crimson/osd/osd_operations/client_request.h" #include "crimson/osd/osd_operations/compound_peering_request.h" #include "crimson/osd/osd_operations/peering_event.h" +#include "crimson/osd/osd_operations/pg_advance_map.h" #include "crimson/osd/osd_operations/recovery_subrequest.h" #include "crimson/osd/osd_operations/replicated_request.h" #include "crimson/osd/pg_activation_blocker.h" @@ -169,4 +170,11 @@ struct EventBackendRegistry { } }; +template <> +struct EventBackendRegistry { + static std::tuple<> get_backends() { + return {}; + } +}; + } // namespace crimson diff --git a/src/crimson/osd/osd_operations/pg_advance_map.cc b/src/crimson/osd/osd_operations/pg_advance_map.cc index 5257b7ce4dc..285c4ff16ce 100644 --- a/src/crimson/osd/osd_operations/pg_advance_map.cc +++ b/src/crimson/osd/osd_operations/pg_advance_map.cc @@ -1,8 +1,6 @@ // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- // vim: ts=8 sw=2 smarttab -#include "crimson/osd/osd_operations/pg_advance_map.h" - #include #include @@ -10,6 +8,9 @@ #include "common/Formatter.h" #include "crimson/osd/pg.h" #include "crimson/osd/osd.h" +#include "crimson/osd/osd_operations/pg_advance_map.h" +#include "crimson/osd/osd_operation_external_tracking.h" +#include "osd/PeeringState.h" namespace { seastar::logger& logger() { @@ -56,9 +57,9 @@ seastar::future<> PGAdvanceMap::start() logger().debug("{}: start", *this); IRef ref = this; - return with_blocking_future( - handle.enter(pg->peering_request_pg_pipeline.process)) - .then([this] { + return enter_stage<>( + pg->peering_request_pg_pipeline.process + ).then([this] { if (do_init) { pg->handle_initialize(rctx); pg->handle_activate_map(rctx); diff --git a/src/crimson/osd/osd_operations/pg_advance_map.h b/src/crimson/osd/osd_operations/pg_advance_map.h index 10ef641b999..b925f6d369c 100644 --- a/src/crimson/osd/osd_operations/pg_advance_map.h +++ b/src/crimson/osd/osd_operations/pg_advance_map.h @@ -7,9 +7,9 @@ #include #include "crimson/osd/osd_operation.h" +#include "crimson/osd/osd_operations/peering_event.h" #include "osd/osd_types.h" #include "crimson/common/type_helpers.h" -#include "osd/PeeringState.h" namespace ceph { class Formatter; @@ -43,6 +43,10 @@ public: void print(std::ostream &) const final; void dump_detail(ceph::Formatter *f) const final; seastar::future<> start(); + + std::tuple< + PeeringEvent::PGPipeline::Process::BlockingEvent + > tracking_events; }; }