Commit Graph

131187 Commits

Author SHA1 Message Date
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
Radosław Zarzyński
f5292e6f81 crimson/osd: pipeline stage classes can be bases for CRTP now
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
61147363c2 crimson/osd: pipeline stage classes derive from BlockerT now
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
2dc3770f7a crimson/osd: document OperationThrottler's behavior towards op's blocker list.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
846ed08359 crimson/osd: simplify OperationThrottler::with_throttle()
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
f4a039278f crimson/osd: move with_blocking_future from Operation to OperationT.
Buildability of this commit proves all users of `with_blocking_future()`
have the concrete operation type which is necessary on the the way
to the compile-time defined op's blocker registry.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
332a0d4de0 crimson/os/seastore: migrate OrderingHandle away from blocking_future
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
e054d79fe9 crimson/osd: OperationThrottler derives from BlockerT instead of Blocker.
One another step closer. See the previous' commit description.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
c35c49908c crimson/osd: make OperationThrottler aware about exact type of operation
This is a step towards making op's blocker registry static and
compile-time checked.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
6bafcac240 crimson/osd: make the OperationThrottler::with_throttle private
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
d1885d84dd crimson/osd: add types PG and OSD-hosted OSDMapGate instances.
`ClientRequest` is going to hold all tracking events as a `std::tuple`
instance and access them through the type-related variant of `std::get`.
As two instances of `OSDMapGate` are used there, a need to differentiate
at the type level arises.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Radosław Zarzyński
3c86c04372 crimson/common: add basic infrastructure for op tracking
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-05 04:06:31 +02:00
Casey Bodley
91931a38ce radosgw-admin: don't crash on --placement-id without --storage-class
if --storage-class is omitted, avoid dereferencing an empty optional

Fixes: https://tracker.ceph.com/issues/55548

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-05-04 17:05:12 -04:00
Iqbal Khan
5e98b8b036 rgw: user_quota and bucket_quota are defined under RGWQuota
struct RGWQuota {
      RGWQuotaInfo user_quota;
      RGWQuotaInfo bucket_quota;
};

Signed-off-by: Iqbal Khan <iqkhan@redhat.com>
2022-05-04 21:50:10 +05:30
Kefu Chai
2e283b30e8 cmake: s/--prod/--configuration=production/
to silence the warning from Angular 12.0 and up, which complains like:

Option "--prod" is deprecated: Use "--configuration production" instead

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-05-04 23:34:55 +08:00
Casey Bodley
26ed4f5228
Merge pull request #46080 from cbodley/wip-55420
cmake/rgw: add missing dependency on Arrow::Arrow

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Reviewed-by: Gal Salomon <gsalomon@redhat.com>
2022-05-04 09:36:12 -04:00
Ilya Dryomov
1b564d96f9
Merge pull request #45341 from idryomov/wip-use-system-libpmem-on-c9s
rpm: use system libpmem on Centos 9 Stream

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-05-04 14:49:37 +02:00
Ilya Dryomov
4eccdaaaf5
Merge pull request #46073 from idryomov/wip-rbd-mirror-exit-code
rbd-mirror,immutable-object-cache: exit code is inverted

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-05-04 14:45:57 +02:00
Kefu Chai
a2cc0386a4
Merge pull request #46103 from tchaikov/cmake-alloc-cleanup
cmake: re-enable TCMalloc and allocator related cleanups

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-05-04 19:28:48 +08:00
Kefu Chai
6e102a4de8 cmake: mark FUSE REQUIRED if WITH_FUSE
in src/CMakeLists.txt, if "WITH_FUSE" is true, we always link ceph-fuse
against FUSE::FUSE no matter what FUSE_FOUND is.

to avoid the FTBFS when FUSE is not found when building ceph-fuse, we'd
better fail early by marking FUSE a must have.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-05-04 19:23:16 +08:00
Ilya Dryomov
dbe7f75e66
Merge pull request #45845 from SUSE/wip-fix-55237
ceph.spec.in: openSUSE: require gcc11-c++, disable parquet

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-05-04 11:54:21 +02:00
Radosław Zarzyński
d7716d9d4c crimson/common: abstract from staticness of BlockerT::type_name.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-05-04 11:38:25 +02:00
Venky Shankar
aaa3fb120a
Merge pull request #37655 from rishabh-d-dave/vr-run-multiple-cmds
vstart_runner: accepts multiple commands as str too

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-05-04 15:03:30 +05:30
Venky Shankar
abcd7ba717
Merge pull request #45473 from neesingh-rh/fix_50470
cephfs-top: Multiple filesystem support

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-05-04 15:00:15 +05:30
Venky Shankar
9682214b3f
Merge pull request #45776 from neesingh-rh/fix_48863
cephfs-shell: chmod should be allowed for changing all mode bits.

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-05-04 14:59:10 +05:30
Venky Shankar
bfe960df95
Merge pull request #45974 from rishabh-d-dave/shell-unrecognized-cmds
cephfs-shell: exit with non-zero on getting unrecognized cmd

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-05-04 14:57:40 +05:30
Samuel Just
59d52091b3
Merge pull request #46135 from athanatos/sjust/wip-vstart-asok
vstart.sh: default CEPH_ASOK_DIR to out/

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-05-03 20:57:51 -07:00