]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Kefu Chai [Sat, 1 Jun 2024 00:39:03 +0000 (08:39 +0800)]
debian: package mgr/rgw in ceph-mgr-modules-core
in
110db72e , we added the rgw mgr module to ceph-mgr-modules-core
rpm package. but we didn't add this module to the corresponding
debian package.
rgw mgr module provides a simple interface to deploy RGW multisite
setup. so it would be nice to have it in ceph's debian packages as
well.
despite that rgw is not part of the core features, since this module
is already in ceph-mgr-modules-core rpm package, and it is relatively
small and does not pulling extra dependencies, let's added to the
debian packge with the same name. we can revisit this decision and
extract it out in a following up change if it is necessary in future.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
J. Eric Ivancich [Fri, 31 May 2024 19:34:41 +0000 (15:34 -0400)]
Merge pull request #57774 from linuxbox2/wip-rgwlc-66287
rgwlc: print new filters and newer-noncurrent elements in radosgw-adm…
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Daniel Gryniewicz [Fri, 31 May 2024 13:42:02 +0000 (09:42 -0400)]
Merge pull request #57377 from dang/wip-dang-obj-state
RGW: Remove RGWObjState and get_obj_state()/put_obj_state() from the SAL API
Ilya Dryomov [Fri, 31 May 2024 11:38:19 +0000 (13:38 +0200)]
Merge pull request #57697 from petrutlucian94/sv_wait
rbd-wnbd: wait for the disk cleanup to complete
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Lucian Petrut [Fri, 24 May 2024 10:03:11 +0000 (10:03 +0000)]
rbd-wnbd: wait for the disk cleanup to complete
The WNBD disk removal workflow is asynchronous, which is why we'll
need to wait for the cleanup to complete when stopping the service.
The "disconnect_all_mappings" function is moved to
RbdMappingDispatcher::stop, allowing us to access the mapping list
more easily and reject new mappings after a stop has been requested.
While at it, we'll log service stop requests.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
Kefu Chai [Fri, 31 May 2024 08:36:48 +0000 (16:36 +0800)]
Merge pull request #57650 from tchaikov/wip-use-importlib
ceph-volume: use importlib from stdlib on Python 3.8 and up
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Nizamudeen A [Fri, 31 May 2024 04:31:44 +0000 (10:01 +0530)]
Merge pull request #57785 from rhcs-dashboard/ssl-file-fix
mgr/dashboard: read cert from in-memory file
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Nizamudeen A [Thu, 30 May 2024 08:06:52 +0000 (13:36 +0530)]
mgr/dashboard: read cert from in-memory file
Fixes: https://tracker.ceph.com/issues/66303
Signed-off-by: Nizamudeen A <nia@redhat.com>
Zac Dover [Thu, 30 May 2024 13:40:32 +0000 (23:40 +1000)]
Merge pull request #57790 from zdover23/wip-doc-2024-05-30-cephfs-mantle-front-matter
doc/cephfs: edit front matter in mantle.rst
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Zac Dover [Thu, 30 May 2024 13:28:56 +0000 (23:28 +1000)]
doc/cephfs: edit front matter in mantle.rst
Improve the structure and grammar of the front matter in the
doc/cephfs/mantle.rst file.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Yingxin [Thu, 30 May 2024 01:55:22 +0000 (09:55 +0800)]
Merge pull request #57711 from cyx1231st/wip-seastore-fix-incorrent-reclaimable-segments
crimson/os/seastore/async_cleaner: fix incorrect get_num_rolls()
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Rongqi Sun [Thu, 30 May 2024 01:31:06 +0000 (09:31 +0800)]
Merge pull request #57612 from Svelar/asan_rgw_kms
rgw_kms: fix Realloc and free cct
Matt Benjamin [Wed, 29 May 2024 16:00:27 +0000 (12:00 -0400)]
rgwlc: print new filters and newer-noncurrent elements in radosgw-admin lc get
Fixes: https://tracker.ceph.com/issues/66287
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Avan [Wed, 29 May 2024 10:46:59 +0000 (16:16 +0530)]
Merge pull request #51591 from rhcs-dashboard/add-helpers-pool-compression
mgr/dashboard: add helpers for compression in pool form
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Yuval Lifshitz [Wed, 29 May 2024 09:50:15 +0000 (12:50 +0300)]
Merge pull request #57748 from yuvalif/wip-yuval-test-http
test/rgw/notification: verify network access to http server
Reviewed-By: Ali Masarwe <ali.masarwa@ibm.com>
Venky Shankar [Wed, 29 May 2024 09:38:09 +0000 (15:08 +0530)]
Merge PR #57354 into main
* refs/pull/57354/head:
mds: relax divergent backtrace scrub failures for replicated ancestor inodes
Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Venky Shankar [Wed, 29 May 2024 09:34:58 +0000 (15:04 +0530)]
Merge PR #55758 into main
* refs/pull/55758/head:
doc: update 'journal reset' command with --yes-i-really-really-mean-it
qa: fix cephfs-journal-tool command options and make fs inactive
cephfs-journal-tool: Add warning messages during 'journal reset' and prevent execution on active fs
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Venky Shankar [Wed, 29 May 2024 09:32:51 +0000 (15:02 +0530)]
Merge PR #57291 into main
* refs/pull/57291/head:
pybind/mgr/mirroring: Fix KeyError: 'directory_count' in daemon status
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yingxin [Wed, 29 May 2024 07:49:16 +0000 (15:49 +0800)]
Merge pull request #57694 from zhscn/fix-avl-alloc
crimson/os/seastore/rbm/avlallocator: return enough regions when request size is greater than max_alloc_size
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Zac Dover [Wed, 29 May 2024 06:10:33 +0000 (16:10 +1000)]
Merge pull request #57753 from zdover23/wip-doc-2024-05-29-doc-dev-perf-counters
doc/dev: add note about intro of perf counters
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Ilya Dryomov [Tue, 28 May 2024 19:04:51 +0000 (21:04 +0200)]
Merge pull request #57729 from idryomov/wip-66232
qa/suites/rbd: override extra_system_packages directly on install task
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Patrick Donnelly [Tue, 28 May 2024 18:00:17 +0000 (14:00 -0400)]
Merge PR #57688 into main
* refs/pull/57688/head:
tools/first-damage: Don't skip stray directory object
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Tue, 28 May 2024 16:46:08 +0000 (12:46 -0400)]
Merge PR #57579 into main
* refs/pull/57579/head:
mds/quiesce: disable quiesce root debug parameters by default
mds/quiesce-agt: never send a synchronous ack
mds/quiesce-agt: add test for a rapid async ack
mds/quiesce: always abort fragmenting asynchronously to prevent reentrancy
mds/quiesce: overdrive an export if it hasn't frozen the tree yet
mds/quiesce: quiesce_inode should not hold on to remote auth pins
qa/cephfs: check that a completed quiesce doesn't hold remote auth pins
mds: add `--lifetime` parameter to the `lock path` asok command
mds/quiesce: accept a regular file as the quiesce root
mds: command_quiesce_path: rename `--wait` to `--await` for consistency
mds: command_quiesce_path: do not block the asok thread and return an adequate rc
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Zac Dover [Tue, 28 May 2024 16:27:53 +0000 (02:27 +1000)]
doc/dev: add note about intro of perf counters
Add a note to the "perf counter" section of doc/dev/perf_counters.rst
that explains that this feature was introduced in the Reef release of
Ceph. This note will prevent us from accidentally backporting
perf-counter-related PRs to Quincy.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Daniel Gryniewicz [Thu, 9 May 2024 16:21:54 +0000 (12:21 -0400)]
RGW: Rename rgw::sal::Object::get_obj_size() to get_size()
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
Daniel Gryniewicz [Thu, 9 May 2024 14:47:28 +0000 (10:47 -0400)]
RGW: Remove get_obj_state()/set_obj_state from SAL
RGWObjState is the state for the StoreObject class. It has historically
been accessible via get_obj_state()/set_obj_state(), but the double
pointer nature of this access has caused multiple bugs, and the
RGWObjState itself is an implementation detail that doesn't need to be
exposed.
Instead, add a load_obj_state() that loads the state from the store, and
use proper getters/setters for the data.
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
Nizamudeen A [Tue, 28 May 2024 16:06:10 +0000 (21:36 +0530)]
Merge pull request #57462 from rhcs-dashboard/rgw-policy-group
mgr/dashboard: rgw policy group management api
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Ali Masarwa [Tue, 28 May 2024 15:42:29 +0000 (18:42 +0300)]
Merge pull request #57655 from AliMasarweh/wip-alimasa-bn-correct-reload
RGW|Bucket notification: reload realm correctly
Reviewed-by: yuvalif<ylifshit@redhat.com>
Zac Dover [Tue, 28 May 2024 14:53:25 +0000 (00:53 +1000)]
Merge pull request #57732 from rishabh-d-dave/doc-dev-teuth
doc/developer_guide: update doc about installing teuthology
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Yuval Lifshitz [Tue, 28 May 2024 13:47:30 +0000 (13:47 +0000)]
test/rgw/notification: verify network access to http server
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
Rishabh Dave [Mon, 27 May 2024 19:37:35 +0000 (01:07 +0530)]
doc/developer_guide: update doc about installing teuthology
There are 2 more ways to install teuthology. Approach with boostrap
script is easier and more convenient while other approach is more
elaborate but manual, document both of them. Don't delete the currently
documented approach because it lets users install teuthology
conveniently in a custom virtual environment. So, keep all three.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
Pedro Gonzalez Gomez [Tue, 28 May 2024 10:53:11 +0000 (12:53 +0200)]
Merge pull request #57070 from rhcs-dashboard/fix-read-only-landing-page
mgr/dashboard: fix readonly landingpage
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: ivoalmeida <NOT@FOUND>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Zac Dover [Tue, 28 May 2024 10:14:22 +0000 (20:14 +1000)]
Merge pull request #57720 from zdover23/wip-doc-2024-05-27-cephfs-fs-volumes
doc/cephfs: s/subvolumegroups/subvolume groups
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Yuval Lifshitz [Tue, 28 May 2024 07:33:23 +0000 (10:33 +0300)]
Merge pull request #57638 from yuvalif/wip-yuval-66033
test/rgw/notifications: allow http server to buffer more requests
Reviewed-By: Casey Bodley <cbodley@ibm.com>
Nizamudeen A [Tue, 14 May 2024 09:53:36 +0000 (15:23 +0530)]
mgr/dashboard: manage flow and pipes apis
Fixes: https://tracker.ceph.com/issues/66238
Signed-off-by: Nizamudeen A <nia@redhat.com>
Nizamudeen A [Tue, 14 May 2024 09:01:43 +0000 (14:31 +0530)]
mgr/dashboard: rgw policy group management api
Fixes: https://tracker.ceph.com/issues/66238
Signed-off-by: Nizamudeen A <nia@redhat.com>
Kefu Chai [Tue, 28 May 2024 01:08:04 +0000 (09:08 +0800)]
Merge pull request #57700 from tchaikov/wip-mgr-prometheus-packaging
mgr/prometheus: s/pkg_resources.packaging/packaging/
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
Ilya Dryomov [Mon, 27 May 2024 13:56:26 +0000 (15:56 +0200)]
qa/suites/rbd: override extra_system_packages directly on install task
[1] and [2] added support for applying extra_system_packages overrides
directly on install task, but at the same time broke our long standing
workaround where we sneaked extra_system_packages directive in through
an override on ceph task. This is likely getting addressed in [3], but
it's better to not rely on this odd feature in the first place.
[1] https://github.com/ceph/teuthology/pull/1941
[2] https://github.com/ceph/teuthology/pull/1943
[3] https://github.com/ceph/teuthology/pull/1942
Fixes: https://tracker.ceph.com/issues/66232
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Mon, 27 May 2024 14:12:20 +0000 (16:12 +0200)]
Merge pull request #57671 from idryomov/wip-labeler-qa
.github: expand tests label to all files under qa
Reviewed-by: Ramana Raja <rraja@redhat.com>
Zac Dover [Mon, 27 May 2024 12:59:06 +0000 (22:59 +1000)]
Merge pull request #57628 from joscollin/wip-B66173-doc-per-client-metrics
doc: document metrics exported by CephFS
Reviewed-by: Zac Dover <zac.dover@proton.me>
Zac Dover [Mon, 27 May 2024 11:09:40 +0000 (21:09 +1000)]
doc/cephfs: s/subvolumegroups/subvolume groups
Use the term "subvolume groups" instead of "subvolumegroups" where the
term appears in plain English. The string "subvolumegroups" is correct
in commands, and remains unchanged.
Also add formatting to command output, to make clearer that the output
is indeed output.
Fixes: https://github.com/ceph/ceph/pull/57574#discussion_r1606988766
Signed-off-by: Zac Dover <zac.dover@proton.me>
avanthakkar [Fri, 19 May 2023 11:37:28 +0000 (17:07 +0530)]
mgr/dashboard: add helpers for compression in pool form
Fixes: https://tracker.ceph.com/issues/61297
Signed-off-by: avanthakkar <avanjohn@gmail.com>
Adding helpers for compression mode, algorithm, min/max blob size and
compression ratio which is set to 0.875 as default.
Jos Collin [Wed, 22 May 2024 12:40:24 +0000 (18:10 +0530)]
doc: document metrics exported by CephFS
Fixes: https://tracker.ceph.com/issues/66173
Signed-off-by: Jos Collin <jcollin@redhat.com>
Yingxin Cheng [Mon, 27 May 2024 02:16:41 +0000 (10:16 +0800)]
crimson/os/seastore/async_cleaner: fix incorrect get_num_rolls()
The number of journal segments should not be based on the committed
journal_head. Otherwise, if a new journal segment is just opened and the
committed journal_head hasn't been updated, the result will be wrong.
This causes ceph_assert(get_segments_reclaimable() == 0) in
SegmentCleaner::get_next_reclaim_segment().
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Nizamudeen A [Mon, 27 May 2024 04:51:12 +0000 (00:51 -0400)]
Merge pull request #57584 from rhcs-dashboard/dashboard-pendingreleasenotes
doc: Update pendingreleasenotes for dashboard
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Zac Dover <zac.dover@gmail.com>
Leonid Usov [Sun, 26 May 2024 11:33:55 +0000 (14:33 +0300)]
mds/quiesce: disable quiesce root debug parameters by default
Fixes: https://tracker.ceph.com/issues/66225
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Sun, 26 May 2024 08:16:48 +0000 (11:16 +0300)]
mds/quiesce-agt: never send a synchronous ack
Defer to the agent thread to perform all acking.
This avoids race conditions between the updating thread
and the acking thread.
Fixes: https://tracker.ceph.com/issues/66219
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Sat, 25 May 2024 13:35:31 +0000 (16:35 +0300)]
mds/quiesce-agt: add test for a rapid async ack
In this scenario, the agent thread is able to run and generate an ack
before the db_update call returns to the caller.
Fixes: https://tracker.ceph.com/issues/66219
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Thu, 23 May 2024 13:45:13 +0000 (16:45 +0300)]
mds/quiesce: always abort fragmenting asynchronously to prevent reentrancy
Fixes: https://tracker.ceph.com/issues/66208
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Mon, 20 May 2024 16:17:04 +0000 (19:17 +0300)]
mds/quiesce: overdrive an export if it hasn't frozen the tree yet
Just like with the fragmenting, we should abort an ongoing export
if a quiesce is attempted for the directory.
To minimize the stress for the system, we only allow the abort
if the export hasn't yet managed to freeze the tree. If that is the case,
then quiesce will have to wait for the export to finish.
Fixes: https://tracker.ceph.com/issues/66123
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Mon, 20 May 2024 22:03:15 +0000 (01:03 +0300)]
mds/quiesce: quiesce_inode should not hold on to remote auth pins
1. avoid taking a remote authpin for the quiesce lock
2. drop remote authpins that were taken because of other locks
We should not be forcing a mustpin when taking quiesce lock.
This creates unnecessary overhead due to the distributed nature
of the quiesce: all ranks will execute quiesce_inode, including
the auth rank, which will authpin the inode.
Auth pinning on the auth rank is important to synchronize quiesce
with operations that are managed by the auth, like fragmenting
and exporting.
If we let a remote quiesce process take a foreign authpin then
it may block freezing on the auth, which will stall quiesce locally.
This wouldn't be a problem if the quiesce that is blocked on the auth
and the quiesce that's holding a remote authpin from the replica side
were unrelated, but in our case it may be the same logical quiesce
that effectively steps on its own toes. This creates an opportunity
for a deadlock.
Fixes: https://tracker.ceph.com/issues/66152
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Wed, 22 May 2024 11:46:50 +0000 (14:46 +0300)]
qa/cephfs: check that a completed quiesce doesn't hold remote auth pins
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Wed, 22 May 2024 08:00:13 +0000 (11:00 +0300)]
mds: add `--lifetime` parameter to the `lock path` asok command
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Wed, 22 May 2024 09:19:08 +0000 (12:19 +0300)]
mds/quiesce: accept a regular file as the quiesce root
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Wed, 22 May 2024 18:35:51 +0000 (21:35 +0300)]
mds: command_quiesce_path: rename `--wait` to `--await` for consistency
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Leonid Usov [Wed, 22 May 2024 11:45:09 +0000 (14:45 +0300)]
mds: command_quiesce_path: do not block the asok thread and return an adequate rc
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Kefu Chai [Thu, 23 May 2024 04:47:26 +0000 (12:47 +0800)]
ceph-volume: use importlib from stdlib on Python 3.8 and up
since packaging was apparently removed from pkg_resources, let's use
importlib.metadata when it is available and pkg_resources on older
Python versions.
Refs https://tracker.ceph.com/issues/66201
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Patrick Donnelly [Sun, 26 May 2024 00:51:35 +0000 (20:51 -0400)]
Merge PR #57393 into main
* refs/pull/57393/head:
doc/man: add missing long option switches
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
Ilya Dryomov [Sat, 25 May 2024 21:42:07 +0000 (23:42 +0200)]
Merge pull request #57609 from Svelar/asan_rbd_mirror
test/rbd-mirror: free remote_journaler in PrepareRemoteImageRequest tests
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Yuval Lifshitz [Sat, 25 May 2024 15:29:05 +0000 (18:29 +0300)]
Merge pull request #56033 from yuvalif/wip-yuval-kafka-cleanup
rgw/kafka: do not destroy the connection on errors
Reviewed-By: Krunal Chheda <kchheda3@bloomberg.net>, Casey Bodley <cbodley@ibm.com>
Anthony D'Atri [Sat, 25 May 2024 13:48:39 +0000 (09:48 -0400)]
Merge pull request #57701 from zdover23/wip-doc-2024-05-25-cephfs-fs-volumes
doc/cephfs: disambiguate two sentences
Zac Dover [Sat, 25 May 2024 08:41:03 +0000 (18:41 +1000)]
doc/cephfs: disambiguate two sentences
Rewrite two sentences so that they are unambgiuously in the indicative
mood and not, as they previously seemed, in the imperative mood.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Rongqi Sun [Wed, 22 May 2024 06:47:50 +0000 (06:47 +0000)]
test/rbd: free remote_journaler in PrepareRemoteImageRequest tests
When sanitizer is enabled, unittest_rbd_mirror shows
```
=================================================================
==
1377627 ==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 2 byte(s) in 2 object(s) allocated from:
#0 0xaaaac462d088 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rbd_mirror+0x30cd088) (BuildId:
054d3b6699c622daad91c7f70e36616220fbd5ad )
#1 0xaaaac522f13c in rbd::mirror::image_replayer::PrepareRemoteImageRequest<librbd::(anonymous namespace)::MockTestImageCtx>::get_client() /root/ceph/src/tools/rbd_mirror/image_replayer/PrepareRemoteImageRequest.cc:148:24
#2 0xaaaac522e60c in rbd::mirror::image_replayer::PrepareRemoteImageRequest<librbd::(anonymous namespace)::MockTestImageCtx>::handle_get_mirror_info(int) /root/ceph/src/tools/rbd_mirror/image_replayer/PrepareRemoteImageRequest.cc:120:5
#3 0xaaaac5232d1c in librbd::util::detail::C_CallbackAdapter<rbd::mirror::image_replayer::PrepareRemoteImageRequest<librbd::(anonymous namespace)::MockTestImageCtx>, &(rbd::mirror::image_replayer::PrepareRemoteImageRequest<librbd::(anonymous namespace)::MockTestImageCtx>::handle_get_mirror_info(int))>::finish(int) /root/ceph/src/librbd/Utils.h:63:5
#4 0xaaaac4863428 in Context::complete(int) /root/ceph/src/include/Context.h:99:5
#5 0xaaaac489ac30 in librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()::operator()() const /root/ceph/src/librbd/asio/ContextWQ.h:31:12
#6 0xaaaac489aaf4 in boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>::operator()() /root/ceph/build/boost/include/boost/asio/detail/bind_handler.hpp:60:5
#7 0xaaaac489aaac in void boost::asio::asio_handler_invoke<boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()> >(boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>&, ...) /root/ceph/build/boost/include/boost/asio/handler_invoke_hook.hpp:88:3
#8 0xaaaac489aa4c in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>, librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>(boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>&, librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()&) /root/ceph/build/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:54:3
#9 0xaaaac489a9ec in void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>, librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>(boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>&, boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>*) /root/ceph/build/boost/include/boost/asio/detail/bind_handler.hpp:111:3
#10 0xaaaac4899c00 in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>, boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()> >(boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>&, boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>&) /root/ceph/build/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:54:3
#11 0xaaaac489c814 in boost::asio::detail::executor_op<boost::asio::detail::binder0<librbd::asio::ContextWQ::queue(Context*, int)::'lambda'()>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /root/ceph/build/boost/include/boost/asio/detail/executor_op.hpp:71:7
#12 0xaaaac489fb4c in boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /root/ceph/build/boost/include/boost/asio/detail/scheduler_operation.hpp:40:5
#13 0xaaaac489f074 in boost::asio::detail::strand_executor_service::run_ready_handlers(std::shared_ptr<boost::asio::detail::strand_executor_service::strand_impl>&) /root/ceph/build/boost/include/boost/asio/detail/impl/strand_executor_service.ipp:150:8
#14 0xaaaac489ed2c in boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void>::operator()() /root/ceph/build/boost/include/boost/asio/detail/impl/strand_executor_service.hpp:136:5
#15 0xaaaac489ebd4 in void boost::asio::asio_handler_invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void>&, ...) /root/ceph/build/boost/include/boost/asio/handler_invoke_hook.hpp:88:3
#16 0xaaaac489e284 in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void>, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void>&, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void>&) /root/ceph/build/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:54:3
#17 0xaaaac48a3e08 in boost::asio::detail::executor_op<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> const, void>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /root/ceph/build/boost/include/boost/asio/detail/executor_op.hpp:71:7
#18 0xaaaac489fb4c in boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /root/ceph/build/boost/include/boost/asio/detail/scheduler_operation.hpp:40:5
#19 0xaaaac6766b1c in boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /root/ceph/build/boost/include/boost/asio/detail/impl/scheduler.ipp:493:12
#20 0xaaaac67660a4 in boost::asio::detail::scheduler::run(boost::system::error_code&) /root/ceph/build/boost/include/boost/asio/detail/impl/scheduler.ipp:210:10
#21 0xaaaac7562d48 in boost::asio::io_context::run() /root/ceph/build/boost/include/boost/asio/impl/io_context.ipp:64:24
#22 0xaaaac7562bcc in ceph::async::io_context_pool::start(short)::'lambda'()::operator()() const /root/ceph/src/common/async/context_pool.h:69:16
#23 0xaaaac7562b18 in void std::__invoke_impl<void, ceph::async::io_context_pool::start(short)::'lambda'()>(std::__invoke_other, ceph::async::io_context_pool::start(short)::'lambda'()&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
#24 0xaaaac7562960 in std::__invoke_result<ceph::async::io_context_pool::start(short)::'lambda'()>::type std::__invoke<ceph::async::io_context_pool::start(short)::'lambda'()>(ceph::async::io_context_pool::start(short)::'lambda'()&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
#25 0xaaaac7562804 in std::invoke_result<ceph::async::io_context_pool::start(short)::'lambda'()>::type std::invoke<ceph::async::io_context_pool::start(short)::'lambda'()>(ceph::async::io_context_pool::start(short)::'lambda'()&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/functional:97:14
#26 0xaaaac75627dc in auto std::thread make_named_thread<ceph::async::io_context_pool::start(short)::'lambda'()>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::'lambda'()&&)::'lambda'(ceph::async::io_context_pool::start(short)::'lambda'()&&)::operator()<ceph::async::io_context_pool::start(short)::'lambda'()>(ceph::async::io_context_pool::start(short)::'lambda'()&&) const /root/ceph/src/common/Thread.h:79:10
#27 0xaaaac7562728 in ceph::async::io_context_pool::start(short)::'lambda'() std::__invoke_impl<void, std::thread make_named_thread<ceph::async::io_context_pool::start(short)::'lambda'()>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::'lambda'()&&)::'lambda'(ceph::async::io_context_pool::start(short)::'lambda'()&&), ceph::async::io_context_pool::start(short)::'lambda'()>(std::__invoke_other, std::thread make_named_thread<ceph::async::io_context_pool::start(short)::'lambda'()>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::'lambda'()&&)::'lambda'(ceph::async::io_context_pool::start(short)::'lambda'()&&)&&, ceph::async::io_context_pool::start(short)::'lambda'()&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
#28 0xaaaac75624ec in std::__invoke_result<ceph::async::io_context_pool::start(short)::'lambda'()>::type std::__invoke<std::thread make_named_thread<ceph::async::io_context_pool::start(short)::'lambda'()>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::'lambda'()&&)::'lambda'(ceph::async::io_context_pool::start(short)::'lambda'()&&), ceph::async::io_context_pool::start(short)::'lambda'()>(ceph::async::io_context_pool::start(short)::'lambda'()&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
#29 0xaaaac756231c in void std::thread::_Invoker<std::tuple<std::thread make_named_thread<ceph::async::io_context_pool::start(short)::'lambda'()>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::'lambda'()&&)::'lambda'(ceph::async::io_context_pool::start(short)::'lambda'()&&), ceph::async::io_context_pool::start(short)::'lambda'()> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:259:13
SUMMARY: AddressSanitizer: 2 byte(s) leaked in 2 allocation(s).
```
Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
Kefu Chai [Sat, 25 May 2024 07:57:27 +0000 (15:57 +0800)]
Merge pull request #57693 from tchaikov/cmake-shec_utils
cmake: : link shec_utils against legacy-option-headers
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Kefu Chai [Sat, 25 May 2024 05:50:43 +0000 (13:50 +0800)]
mgr/prometheus: s/pkg_resources.packaging/packaging/
instead of relying on the internal implementation of pkg_resources,
let's import packaging directly.
in this change, we also add the dependency to the packaging module
in the packaging recipes.
See also https://github.com/pypa/setuptools/issues/4385
Fixes https://tracker.ceph.com/issues/66201
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Patrick Donnelly [Fri, 24 May 2024 20:43:40 +0000 (16:43 -0400)]
Merge PR #57686 into main
* refs/pull/57686/head:
script/ceph-backport: update Ceph PR id
Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
Venky Shankar [Fri, 24 May 2024 10:41:57 +0000 (16:11 +0530)]
Merge pull request #57689 from kotreshhr/fix_unpack_first_damage
tools/first-damage: Fix struct unpack
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Zhang Song [Fri, 24 May 2024 09:56:48 +0000 (17:56 +0800)]
crimson/os/seastore/rbm/avlallocator: return enough regions when request size is greater than max_alloc_size
Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Kefu Chai [Fri, 24 May 2024 09:51:55 +0000 (17:51 +0800)]
cmake: : link shec_utils against legacy-option-headers
in
c24a6ffe20 , we tried to link all target dependent on legacy option
headers against legacy-option-headers, but we missed some of them.
in our CI, we spotted build failure like:
```
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/erasure-code/ErasureCode.cc:26:
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/osd/osd_types.h:41:
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/ceph_context.h:41:
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/config_proxy.h:6:
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/config.h:27:
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/config_values.h:59:
/home/jenkins-build/build/workspace/ceph-pull-requests/src/common/options/legacy_config_opts.h:1:10: fatal error: 'global_legacy_options.h' file not found
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
so in this change, we link the shec_utils to `legacy-option-headers`
as well to fulfill the build dependency.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Kotresh HR [Fri, 24 May 2024 08:08:24 +0000 (13:38 +0530)]
tools/first-damage: Fix struct unpack
The first field is a 64 bit integer, the script
was unpacking it as 32 bit integer. Fixed the
same.
Also printing the 'first' value in debug
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Kotresh HR [Fri, 24 May 2024 07:02:32 +0000 (12:32 +0530)]
tools/first-damage: Don't skip stray directory object
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Yingxin [Fri, 24 May 2024 02:28:55 +0000 (10:28 +0800)]
Merge pull request #57654 from zhscn/fix-error
crimson/os/seastore: fix compile error in release build
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin [Fri, 24 May 2024 01:39:27 +0000 (09:39 +0800)]
Merge pull request #57656 from Matan-B/wip-matanb-crimson-get-param
test/crimson/seastore/transaction_manager_test_state: fix compilation…
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Patrick Donnelly [Fri, 24 May 2024 00:51:15 +0000 (20:51 -0400)]
script/ceph-backport: update Ceph PR id
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Casey Bodley [Thu, 23 May 2024 17:22:24 +0000 (18:22 +0100)]
Merge pull request #57188 from cbodley/wip-boost-asio-yield-group
common/async: add primitives for structured concurrency with optional_yield
Reviewed-by: Adam Emerson <aemerson@redhat.com>
Casey Bodley [Thu, 23 May 2024 17:15:41 +0000 (18:15 +0100)]
Merge pull request #57630 from cbodley/wip-boost-asio-spawn-unlock
rgw/pubsub: Waiter unlocks before suspend
Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
Ilya Dryomov [Thu, 23 May 2024 16:15:08 +0000 (18:15 +0200)]
.github: expand tests label to all files under qa
The test job definition under qa/suites is an integral part of almost
any test. Often, the test logic is split between the task or workunit
and respective snippet(s) under qa/suites.
Other files under qa are less used, but still related to nothing but
testing, so just add the label on all of it.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ali Masarwa [Thu, 23 May 2024 11:08:56 +0000 (14:08 +0300)]
RGW|Bucket notification: disable notif v2 to reload realm correctly
Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
Zac Dover [Thu, 23 May 2024 14:47:54 +0000 (00:47 +1000)]
Merge pull request #57554 from zdover23/wip-doc-2024-05-20-cephfs-fs-volumes-fs-subvolumes-sections
doc/cephfs: separate commands into sections
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Zac Dover [Thu, 23 May 2024 14:21:54 +0000 (00:21 +1000)]
Merge pull request #57567 from zdover23/wip-doc-2024-05-20-cephfs-fs-volumes-cloning-snapshots
doc/cephfs: edit "Cloning Snapshots" in fs-volumes.rst
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Zac Dover [Thu, 23 May 2024 14:14:00 +0000 (00:14 +1000)]
Merge pull request #57574 from zdover23/wip-doc-2024-05-21-cephfs-fs-volumes-pinning-subvolumes
doc/cephfs: edit "Pinning Subvolumes..."
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Casey Bodley [Thu, 9 May 2024 17:00:57 +0000 (13:00 -0400)]
common/async: add max_concurrent_for_each() algorithm
inspired by seastar's max_concurrent_for_each(), implemented for
optional_yield in terms of yield_throttle
can also be overloaded for co_await() and co_throttle (not part of this
branch)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Pedro Gonzalez Gomez [Wed, 24 Apr 2024 08:48:11 +0000 (10:48 +0200)]
mgr/dashboard: fix readonly landingpage
Fixes: https://tracker.ceph.com/issues/65643
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Matan Breizman [Thu, 23 May 2024 11:06:41 +0000 (11:06 +0000)]
test/crimson/seastore/transaction_manager_test_state: fix compilation error
Introduced in: https://github.com/ceph/ceph/commit/
898efa78e2cde90a2bdf8e6f7eda1d4def736705
Followup: https://github.com/ceph/ceph/pull/53433
```
FAILED: src/crimson/tools/CMakeFiles/perf-staged-fltree.dir/perf_staged_fltree.cc.o
error: ‘GetParam’ was not declared in this scope
287 | if (std::get<1>(GetParam()) == integrity_check_t::FULL_CHECK) {
| ^~~~~~~~
/home/yogisha/ceph/src/test/crimson/seastore/transaction_manager_test_state.h: In member function ‘virtual seastar::future<> SeaStoreTestState::_init()’:
/home/yogisha/ceph/src/test/crimson/seastore/transaction_manager_test_state.h:439:21: error: ‘GetParam’ was not declared in this scope
439 | if (std::get<1>(GetParam()) == integrity_check_t::FULL_CHECK) {
| ^~~~~~~~
```
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Yuval Lifshitz [Thu, 23 May 2024 10:54:29 +0000 (13:54 +0300)]
Merge pull request #57639 from yuvalif/wip-yuval-skip-reload-tests
test/rgw/notifications: skip reload tests when there is no realm
Reviewed-By: ali.masarwa@ibm.com
Zhang Song [Thu, 23 May 2024 09:12:06 +0000 (17:12 +0800)]
crimson/os/seastore: fix compile error in release build
Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Rongqi Sun [Wed, 22 May 2024 07:41:42 +0000 (07:41 +0000)]
rgw_kms: fix Realloc and free cct
When sanitizer is enabled, unittest_rgw_kms shows,
```
=================================================================
==
1415137 ==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 768 byte(s) in 1 object(s) allocated from:
#0 0xaaaacb1381e0 in malloc (/root/ceph/build/bin/unittest_rgw_kms+0x4b81e0) (BuildId:
2005acbecb5cbd5bc928c98209bd613f20ecbacf )
#1 0xaaaacb1ed768 in ZeroPoolAllocator::Realloc(void*, unsigned long, unsigned long) /root/ceph/src/rgw/rgw_kms.cc:84:14
#2 0xaaaacb1ed728 in rapidjson::GenericMember<rapidjson::UTF8<char>, ZeroPoolAllocator>* rapidjson::Realloc<rapidjson::GenericMember<rapidjson::UTF8<char>, ZeroPoolAllocator>, ZeroPoolAllocator>(ZeroPoolAllocator&, rapidjson::GenericMember<rapidjson::UTF8<char>, ZeroPoolAllocator>*, unsigned long, unsigned long) /root/ceph/src/s3select/rapidjson/include/rapidjson/error/../internal/../allocators.h:437:30
#3 0xaaaacb1ed4ec in rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>::DoReserveMembers(unsigned int, ZeroPoolAllocator&) /root/ceph/src/s3select/rapidjson/include/rapidjson/document.h:2260:34
#4 0xaaaacb1ed2cc in rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>::DoAddMember(rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/s3select/rapidjson/include/rapidjson/document.h:2292:13
#5 0xaaaacb1ec344 in rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>::AddMember(rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/s3select/rapidjson/include/rapidjson/document.h:1375:9
#6 0xaaaacb19769c in void add_name_val_to_obj<rapidjson::UTF8<char>, ZeroPoolAllocator>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/rgw/rgw_kms.cc:149:5
#7 0xaaaacb197058 in void add_name_val_to_obj<rapidjson::UTF8<char>, ZeroPoolAllocator>(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/rgw/rgw_kms.cc:169:3
#8 0xaaaacb1ac4a8 in TransitSecretEngine::make_actual_key(DoutPrefixProvider const*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > >&, optional_yield, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /root/ceph/src/rgw/rgw_kms.cc:485:5
#9 0xaaaacb188f88 in TestSSEKMS_test_transit_makekey_Test::TestBody() /root/ceph/src/test/rgw/test_rgw_kms.cc:192:29
#10 0xaaaacb34549c in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2605:10
#11 0xaaaacb2f864c in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2641:14
#12 0xaaaacb2aa958 in testing::Test::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:2680:5
#13 0xaaaacb2ac89c in testing::TestInfo::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:2858:11
#14 0xaaaacb2ade9c in testing::TestSuite::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:3012:28
#15 0xaaaacb2c9c60 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph/src/googletest/googletest/src/gtest.cc:5723:44
#16 0xaaaacb34f310 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2605:10
#17 0xaaaacb2ff588 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2641:14
#18 0xaaaacb2c90d8 in testing::UnitTest::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:5306:10
#19 0xaaaacb250ae4 in RUN_ALL_TESTS() /root/ceph/src/googletest/googletest/include/gtest/gtest.h:2486:46
#20 0xaaaacb250a60 in main /root/ceph/src/googletest/googlemock/src/gmock_main.cc:70:10
#21 0xffff7cf773f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#22 0xffff7cf774c8 in __libc_start_main csu/../csu/libc-start.c:392:3
#23 0xaaaacb0c102c in _start (/root/ceph/build/bin/unittest_rgw_kms+0x44102c) (BuildId:
2005acbecb5cbd5bc928c98209bd613f20ecbacf )
Direct leak of 768 byte(s) in 1 object(s) allocated from:
#0 0xaaaacb1381e0 in malloc (/root/ceph/build/bin/unittest_rgw_kms+0x4b81e0) (BuildId:
2005acbecb5cbd5bc928c98209bd613f20ecbacf )
#1 0xaaaacb1ed768 in ZeroPoolAllocator::Realloc(void*, unsigned long, unsigned long) /root/ceph/src/rgw/rgw_kms.cc:84:14
#2 0xaaaacb1ed728 in rapidjson::GenericMember<rapidjson::UTF8<char>, ZeroPoolAllocator>* rapidjson::Realloc<rapidjson::GenericMember<rapidjson::UTF8<char>, ZeroPoolAllocator>, ZeroPoolAllocator>(ZeroPoolAllocator&, rapidjson::GenericMember<rapidjson::UTF8<char>, ZeroPoolAllocator>*, unsigned long, unsigned long) /root/ceph/src/s3select/rapidjson/include/rapidjson/error/../internal/../allocators.h:437:30
#3 0xaaaacb1ed4ec in rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>::DoReserveMembers(unsigned int, ZeroPoolAllocator&) /root/ceph/src/s3select/rapidjson/include/rapidjson/document.h:2260:34
#4 0xaaaacb1ed2cc in rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>::DoAddMember(rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/s3select/rapidjson/include/rapidjson/document.h:2292:13
#5 0xaaaacb1ec344 in rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>::AddMember(rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/s3select/rapidjson/include/rapidjson/document.h:1375:9
#6 0xaaaacb19769c in void add_name_val_to_obj<rapidjson::UTF8<char>, ZeroPoolAllocator>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/rgw/rgw_kms.cc:149:5
#7 0xaaaacb197058 in void add_name_val_to_obj<rapidjson::UTF8<char>, ZeroPoolAllocator>(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, rapidjson::GenericValue<rapidjson::UTF8<char>, ZeroPoolAllocator>&, ZeroPoolAllocator&) /root/ceph/src/rgw/rgw_kms.cc:169:3
#8 0xaaaacb1b2298 in TransitSecretEngine::reconstitute_actual_key(DoutPrefixProvider const*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > > const&, optional_yield, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /root/ceph/src/rgw/rgw_kms.cc:569:5
#9 0xaaaacb18abcc in TestSSEKMS_test_transit_reconstitutekey_Test::TestBody() /root/ceph/src/test/rgw/test_rgw_kms.cc:216:29
#10 0xaaaacb34549c in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2605:10
#11 0xaaaacb2f864c in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2641:14
#12 0xaaaacb2aa958 in testing::Test::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:2680:5
#13 0xaaaacb2ac89c in testing::TestInfo::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:2858:11
#14 0xaaaacb2ade9c in testing::TestSuite::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:3012:28
#15 0xaaaacb2c9c60 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph/src/googletest/googletest/src/gtest.cc:5723:44
#16 0xaaaacb34f310 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2605:10
#17 0xaaaacb2ff588 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2641:14
#18 0xaaaacb2c90d8 in testing::UnitTest::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:5306:10
#19 0xaaaacb250ae4 in RUN_ALL_TESTS() /root/ceph/src/googletest/googletest/include/gtest/gtest.h:2486:46
#20 0xaaaacb250a60 in main /root/ceph/src/googletest/googlemock/src/gmock_main.cc:70:10
#21 0xffff7cf773f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#22 0xffff7cf774c8 in __libc_start_main csu/../csu/libc-start.c:392:3
#23 0xaaaacb0c102c in _start (/root/ceph/build/bin/unittest_rgw_kms+0x44102c) (BuildId:
2005acbecb5cbd5bc928c98209bd613f20ecbacf )
...
...
Indirect leak of 18 byte(s) in 1 object(s) allocated from:
#0 0xaaaab6e3f148 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_kms+0x4ef148) (BuildId:
2005acbecb5cbd5bc928c98209bd613f20ecbacf )
#1 0xffffac4a0fa0 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:127:27
#2 0xffffac4a0f1c in std::allocator<char>::allocate(unsigned long) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/allocator.h:185:32
#3 0xffffac4a0f1c in std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:464:20
#4 0xffffac4a0c1c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.tcc:153:14
#5 0xffffac4a0618 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.tcc:219:14
#6 0xffffac4a0398 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*>(char*, char*, std::__false_type) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:255:11
#7 0xffffac4a00d0 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:274:4
#8 0xffffac49fe0c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:459:9
#9 0xffffacc9b490 in std::enable_if<((__exactly_once<std::variant_alternative<__accepted_index<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::variant<std::monostate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, entity_addrvec_t, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000l> >, Option::size_t, uuid_d> >::type>) && (is_constructible_v<std::variant_alternative<__accepted_index<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::variant<std::monostate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, entity_addrvec_t, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000l> >, Option::size_t, uuid_d> >::type, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>)) && (is_assignable_v<std::variant_alternative<__accepted_index<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::variant<std::monostate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, entity_addrvec_t, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000l> >, Option::size_t, uuid_d> >::type&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>), std::variant<std::monostate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, entity_addrvec_t, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000l> >, Option::size_t, uuid_d>&>::type std::variant<std::monostate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, entity_addrvec_t, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000l> >, Option::size_t, uuid_d>::operator=<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/variant:1477:26
#10 0xffffacc9298c in Option::parse_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::variant<std::monostate, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, entity_addrvec_t, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000l> >, Option::size_t, uuid_d>*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const /root/ceph/src/common/options.cc:165:10
#11 0xffffacb813cc in md_config_t::_set_val(ConfigValues&, ConfigTracker const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Option const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /root/ceph/src/common/config.cc:1395:15
#12 0xffffacb8f084 in md_config_t::set_val(ConfigValues&, ConfigTracker const&, std::basic_string_view<char, std::char_traits<char> >, char const*, std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*) /root/ceph/src/common/config.cc:930:13
#13 0xaaaab6ecb014 in md_config_t::set_val(ConfigValues&, ConfigTracker const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*) /root/ceph/src/common/config.h:180:12
#14 0xaaaab6e72464 in ceph::common::ConfigProxy::set_val(std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*) /root/ceph/src/common/config_proxy.h:239:19
#15 0xaaaab6e53bf8 in TestSSEKMS_non_existent_vault_token_file_Test::TestBody() /root/ceph/src/test/rgw/test_rgw_kms.cc:84:14
#16 0xaaaab701549c in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2605:10
#17 0xaaaab6fc864c in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2641:14
#18 0xaaaab6f7a958 in testing::Test::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:2680:5
#19 0xaaaab6f7c89c in testing::TestInfo::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:2858:11
#20 0xaaaab6f7de9c in testing::TestSuite::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:3012:28
#21 0xaaaab6f99c60 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph/src/googletest/googletest/src/gtest.cc:5723:44
#22 0xaaaab701f310 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2605:10
#23 0xaaaab6fcf588 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph/src/googletest/googletest/src/gtest.cc:2641:14
#24 0xaaaab6f990d8 in testing::UnitTest::Run() /root/ceph/src/googletest/googletest/src/gtest.cc:5306:10
#25 0xaaaab6f20ae4 in RUN_ALL_TESTS() /root/ceph/src/googletest/googletest/include/gtest/gtest.h:2486:46
#26 0xaaaab6f20a60 in main /root/ceph/src/googletest/googlemock/src/gmock_main.cc:70:10
#27 0xffffa99573f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#28 0xffffa99574c8 in __libc_start_main csu/../csu/libc-start.c:392:3
#29 0xaaaab6d9102c in _start (/root/ceph/build/bin/unittest_rgw_kms+0x44102c) (BuildId:
2005acbecb5cbd5bc928c98209bd613f20ecbacf )
SUMMARY: AddressSanitizer:
112735554 byte(s) leaked in 36910 allocation(s).
```
1. fix memory reallocate issue
2. free cct
Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
Nizamudeen A [Tue, 21 May 2024 05:11:26 +0000 (10:41 +0530)]
doc: Update pendingreleasenotes for dashboard
Signed-off-by: Nizamudeen A <nia@redhat.com>
Zac Dover [Thu, 23 May 2024 01:26:07 +0000 (11:26 +1000)]
Merge pull request #57633 from mcv21/patch-1
Docs: clarify use of location: in host spec
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Adam King <adking@redhat.com>
Patrick Donnelly [Thu, 23 May 2024 01:18:17 +0000 (21:18 -0400)]
Merge PR #57493 into main
* refs/pull/57493/head:
qa/cephfs: pass MDS name, not FS name, to "ceph mds fail" cmd
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Thu, 23 May 2024 01:16:32 +0000 (21:16 -0400)]
Merge PR #57469 into main
* refs/pull/57469/head:
mds: set dispatcher order
mds: use regular dispatch for processing beacons
msg: add priority to dispatcher invocation order
mds: note when dispatcher is called
Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
Patrick Donnelly [Thu, 23 May 2024 01:15:57 +0000 (21:15 -0400)]
Merge PR #57392 into main
* refs/pull/57392/head:
common/Formatter: use CachedStackStringStream for efficiency
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Patrick Donnelly [Thu, 23 May 2024 01:15:33 +0000 (21:15 -0400)]
Merge PR #57374 into main
* refs/pull/57374/head:
common/Formatter: trivial cons/des should be default
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Patrick Donnelly [Thu, 23 May 2024 01:15:07 +0000 (21:15 -0400)]
Merge PR #57215 into main
* refs/pull/57215/head:
doc: document new --output-file switch
test/cli: ignore tmp_file_template
qa/workunits: add --output-file test in cephtool workunit
common,ceph: add output file switch to dump json to
common/options: add configs for temporary files made by daemons
common/Formatter: write the pending string on flush
Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
Patrick Donnelly [Thu, 23 May 2024 01:12:24 +0000 (21:12 -0400)]
Merge PR #57170 into main
* refs/pull/57170/head:
client: set LIBMOUNT_FORCE_MOUNT2=always
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Thu, 23 May 2024 01:11:52 +0000 (21:11 -0400)]
Merge PR #57081 into main
* refs/pull/57081/head:
messages/MClientMetrics: increase priority ahead of regular requests
mds: use regular dispatch for processing metrics
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Dan Mick [Thu, 23 May 2024 00:59:16 +0000 (17:59 -0700)]
Merge pull request #57642 from dmick/wip-release-doc
doc/dev/release-process.rst: note new 'project' arguments
Dan Mick [Wed, 22 May 2024 22:25:51 +0000 (15:25 -0700)]
doc/dev/release-process.rst: note new 'project' arguments
Support added to the release scripts (from ceph-build.git) to
work for ceph-iscsi, so 'project' must be passed to these scripts,
and will appear in the prerelease pathnames. See also
https://github.com/ceph/ceph-build/pull/2243 and
https://github.com/ceph/ceph-container/pull/2210
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Casey Bodley [Wed, 22 May 2024 21:25:49 +0000 (22:25 +0100)]
Merge pull request #57575 from cbodley/wip-rgw-maintainers-ali
rgw: remove Ali Maredia from MAINTAINERS.md
Reviewed-by: Adam Emerson <aemerson@redhat.com>
Casey Bodley [Wed, 8 May 2024 16:42:42 +0000 (12:42 -0400)]
common/async: add spawn_throttle for bounded concurrency with optional_yield
a primitive for structured concurrency with stackful coroutines from
boost::asio::spawn(). this relies on spawn()'s support for per-op
cancellation to guarantee that the lifetime of child coroutines won't
exceed the lifetime of their spawn_throttle, making it safe for children
to access memory from their parent's stack
by taking optional_yield in the constructor, spawn_throttle transparently
supports synchronous execution (where optional_yield is empty) and
asynchronous execution within a stackful coroutine (where optional_yield
contains the parent's yield_context)
Signed-off-by: Casey Bodley <cbodley@redhat.com>