1
0
mirror of https://github.com/ceph/ceph synced 2025-03-18 16:36:12 +00:00
Commit Graph

130924 Commits

Author SHA1 Message Date
Samuel Just
bdeabe5d97 crimson/common/operation: return intrusive_ptr<T> rather than T::IRef
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-05-06 02:38:21 +00:00
Samuel Just
d41f37c8bd crimson: rename WaitForActiveBlocker::on_active
We need to unblock this in cases other than on_active.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-05-06 02:38:21 +00:00
Samuel Just
20ec94ccd2
Merge pull request from rzarzynski/wip-crimson-op-tracking-2
crimson: bring the core of op tracking

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-05-05 12:56:42 -07:00
Adam King
cfafb364ab
Merge pull request from phlogistonjohn/jjm-nfs-cleanups-pt4
mgr/nfs: minor organizational cleanups

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2022-05-05 14:59:39 -04:00
Adam King
5cec97393f
Merge pull request from rkachach/fix_issue_52906
mgr/cephadm: adding logic to close ports when removing a daemon

Reviewed-by: Adam King <adking@redhat.com>
2022-05-05 14:52:07 -04:00
Radosław Zarzyński
ecb25df889 crimson/osd: drop legacy base classes for pipeline stages
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:29 +02:00
Radosław Zarzyński
2c1585c625 crimson/osd: drop the old blocking infrastructure
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:28 +02:00
Radosław Zarzyński
fe66dc3a3b crimson/osd: strip blokcing_future from OperationT
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:28 +02:00
Radosław Zarzyński
0ea3cc8f6a crimson/osd: migrate OperationThrottler to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:28 +02:00
Radosław Zarzyński
ca9d38e1ec crimson/osd: crimson/osd: drop blocking_future from PGActivationBlocker
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:28 +02:00
Radosław Zarzyński
409332f2f3 crimson/osd: crimson/osd: drop blocking_future from PGMap
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:28 +02:00
Radosław Zarzyński
f693fabfe8 crimson/osd: drop blocking_future from OSDMapGate
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:39:28 +02:00
Radosław Zarzyński
cd9d6bc2b5 crimson: bring the WaitBarrier tracking
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 12:38:54 +02:00
Ali Maredia
42b969b8be
Merge pull request from iqbalredkhan/quota2
rgw: Refactoring Quota Management
2022-05-05 00:42:26 -04:00
Radosław Zarzyński
013661412b crimson: move PipelineStageIT::enter() dispatch to compile-time
The optimization isn't the goal (but rather a side effect). The
reason behind this change is to let pipeline stages define exit
barriers incorporating `OpT`-dependant `Triggers` to track blocking
that happens on the barriers.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
75a9cbbc74 crimson/os: add junction between OSD's ops and Seastore's OrderingHandle.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
b7e2b11595 crimson/osd: migrate AggregateBlocker-related ops to new tracking infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
ee759133fa crimson/osd: bring AggregateBlockingEvent.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
232ea2cf45 crimson/osd: migrate PeeringEvent to new tracking infra, part 2
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
df5e76a261 crimson/osd: add BlockingEvent-aware variant of OSD::get_or_create_pg
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
69e465b2cf crimson/osd: migrate InternalClientRequest to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
9498b440e6 crimson/osd: migrate RecoverySubRequest to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:32 +02:00
Radosław Zarzyński
313337983f crimson/osd: migrate RepRequest to new tracking infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
11ed546e10 crimson/osd: migrate PGAdvanceMap to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
6ac63fc43d crimson/osd: reduce unnecessary indentation level in PGAdvanceMap::start()
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
e2fc6f9a93 crimson/osd: migrate PeeringEvent to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
0fa5d9a749 crimson/osd: migrate BackgroundRecovery to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
096e8c9035 crimson/osd: migrate BackfillRecoveryPipeline to new tracking infra.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
5c64306487 crimson/osd: CompoundPeeringRequest tracks its start and completion too
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
d3d7745c3a crimson/osd: migrate CompoundPeeringRequest into new tracking infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
a9ce8d81c8 crimson/osd: move SubOpBlocker from .cc to header
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
8eedc17097 crimson/osd: PGActivationBlocker does support new tracking infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
1c1663d731 crimson/osd: dissect PG::WaitForActiveBlocker into PGActivationBlocker
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
cc71d8afe9 crimson/osd: PGMap blocker does support new tracking infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
89493f3da1 crimson/osd: make PhaseOperationT able to deal with interruptors
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
1c760fcb58 crimson/osd: pg_map.h doesn't pull pg.h anymore
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
633f45ac3b crimson/osd: convert entire ClientRequest to the new infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
a0b7861a31 crimson/osd: slightly optimize OperationRegistryT::do_register()
There is no need to call the virtual op::get_type() twice.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
11f0814dcb crimson/osd: fix an assertion failure in Formatter when dumping ops
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
9248607186 crimson/osd: implement dump_ops_in_flight
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
7e12e9a7b5 crimson/osd: track start and completion of ClientRequest
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
cd46a27393 crimson/osd: bring boilerplate for LTTng-based external tracking backend
At the moment it's mostly for verification & demonstration purposes.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
59fbd2cde0 crimson/osd: drop forward declaration of OSDMap osd.h
Having it doesn't make sense as we already include the header.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
f5ce518f1e crimson/osd: add registry of external handlers of tracking events
This commit intentionally fails the build. It does that to verify
the static assertion on per-op-type lookup of event registry.

The concrete assertion is the one about `ClientRequest` as we
already moved two of its blocker into the new op tracking infra.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
33e4590d43 crimson/osd: switch one OSDMapGate of ClientRequest to new blocking infra
This time the demo of `BlockerT::BlockingEvent::TriggerI` which
is supposed to handle situations where:

1) `BlockerT` is separated from `TrackableOperationT` by many
intermediaries while
2) we don't want to templatize them all.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
3e99e526c0 crimson/osd: switch a stage of ClientRequest to new blocking infra
This is a debut of the new blocking & tracking infrastructure
using the type-aware `BlockerT::BlockingEvent::Trigger<T>`.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
c86c231dcc crimson/osd: introduce PhasedOperationT to deduplicate PipelineHandles
This new class in the hierarchy will be handy when it will come to
introduce helpers for deailing with entering a pipeline stage.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
2676e395ac crimson/osd: switch all OSD operations to TrackableOperationT
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
ae08ac0278 crimson/osd: get rid of unnecessary private in ClientRequest
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
5c83589ae5 crimson/osd: switch all ClientRequest-related pipeline stages to the new infra
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00