]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 months agocephadm: fix host-maintenance command always exiting with a failure 59454/head
John Mulligan [Wed, 27 Mar 2024 22:45:15 +0000 (18:45 -0400)]
cephadm: fix host-maintenance command always exiting with a failure

The host-maintenance command would always fail because
command_maintenance always returns a string. This string is passed to
sys.exit and thus always gets printed and causes a non-zero exit code.
Fix the command line behavior by renaming the original function and
adding a new command_maintenance that prints the string and returns an
int like other command_* functions do.

Fixes: https://tracker.ceph.com/issues/65122
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 0a137b140e47d02b03d133adb55e62aa0de7b984)

10 months agoMerge pull request #59431 from zdover23/wip-doc-2024-08-26-backport-59428-to-reef
Anthony D'Atri [Mon, 26 Aug 2024 13:23:23 +0000 (09:23 -0400)]
Merge pull request #59431 from zdover23/wip-doc-2024-08-26-backport-59428-to-reef

reef: doc/cephadm: how to get exact size_spec from device

10 months agodoc/cephadm: how to get exact size_spec from device 59431/head
Zac Dover [Sun, 25 Aug 2024 20:03:34 +0000 (06:03 +1000)]
doc/cephadm: how to get exact size_spec from device

Add instructions for retrieving the exact size of block devices.

Fixes: https://tracker.ceph.com/issues/66754
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit d00d1b52d50b5575d918c3be7b7a8249ef31f0a8)

10 months agoMerge pull request #59425 from zdover23/wip-doc-2024-08-25-backport-59418-to-reef
Anthony D'Atri [Sun, 25 Aug 2024 03:07:02 +0000 (23:07 -0400)]
Merge pull request #59425 from zdover23/wip-doc-2024-08-25-backport-59418-to-reef

reef: doc/glossary: add "object storage"

10 months agodoc/glossary: add "object storage" 59425/head
Zac Dover [Fri, 23 Aug 2024 12:36:16 +0000 (22:36 +1000)]
doc/glossary: add "object storage"

Add a (very basic) definition of object storage.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 43057b88538e868b817acb04d5e6c4e95b4c716e)

10 months agoMerge pull request #57625 from sajibreadd/wip-65938-reef
Yuri Weinstein [Fri, 23 Aug 2024 22:04:04 +0000 (15:04 -0700)]
Merge pull request #57625 from sajibreadd/wip-65938-reef

reef: os/bluestore: set rocksdb iterator bounds for Bluestore::_collection_list()

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
10 months agoMerge pull request #57621 from sajibreadd/wip-66145-reef
Yuri Weinstein [Fri, 23 Aug 2024 22:03:21 +0000 (15:03 -0700)]
Merge pull request #57621 from sajibreadd/wip-66145-reef

reef: osd: CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE flag is passed from ECBackend

Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #55110 from k0ste/wip-63977-reef
Yuri Weinstein [Fri, 23 Aug 2024 22:01:20 +0000 (15:01 -0700)]
Merge pull request #55110 from k0ste/wip-63977-reef

reef: mgr/BaseMgrModule: Optimize CPython Call in Finish Function

Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
10 months agoMerge pull request #53269 from YiteGu/backport-always-generate-random-nonce
Yuri Weinstein [Fri, 23 Aug 2024 22:00:12 +0000 (15:00 -0700)]
Merge pull request #53269 from YiteGu/backport-always-generate-random-nonce

reef: msg: always generate random nonce; don't try to reuse PID

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
10 months agoMerge pull request #59411 from adk3798/wip-67682-reef
Adam King [Fri, 23 Aug 2024 18:00:14 +0000 (14:00 -0400)]
Merge pull request #59411 from adk3798/wip-67682-reef

reef: mgr/cephadm: add "original_weight" parameter to OSD class

Reviewed-by: John Mulligan <jmulligan@redhat.com>
10 months agoMerge pull request #59381 from zdover23/wip-doc-2024-08-21-backport-59348-to-reef
Zac Dover [Fri, 23 Aug 2024 11:36:20 +0000 (21:36 +1000)]
Merge pull request #59381 from zdover23/wip-doc-2024-08-21-backport-59348-to-reef

reef: doc/rados: document unfound object cache-tiering scenario

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
10 months agomgr/cephadm: add "original_weight" parameter to OSD class 59411/head
Adam King [Mon, 19 Aug 2024 16:30:24 +0000 (12:30 -0400)]
mgr/cephadm: add "original_weight" parameter to OSD class

Fixes: https://tracker.ceph.com/issues/67329
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 04330f5df92994882efcd4879d5c37279138e97b)

10 months agoMerge pull request #59075 from tobias-urdin/reef-keystone-admin-token
Yuri Weinstein [Thu, 22 Aug 2024 15:48:13 +0000 (08:48 -0700)]
Merge pull request #59075 from tobias-urdin/reef-keystone-admin-token

reef: rgw: invalidate and retry keystone admin token

Reviewed-by: Casey Bodley <cbodley@redhat.com>
10 months agoMerge pull request #59018 from Svelar/wip-67072-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:47:36 +0000 (08:47 -0700)]
Merge pull request #59018 from Svelar/wip-67072-reef

reef: rgw/amqp: lock erase and create connection before emplace

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
10 months agoMerge pull request #59056 from yuvalif/wip-67363-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:46:49 +0000 (08:46 -0700)]
Merge pull request #59056 from yuvalif/wip-67363-reef

reef: common/dout: fix FTBFS on GCC 14

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
10 months agoMerge pull request #57197 from k0ste/wip-63315-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:46:15 +0000 (08:46 -0700)]
Merge pull request #57197 from k0ste/wip-63315-reef

reef: os/bluestore: fix crash caused by dividing by 0

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
10 months agoMerge pull request #57194 from k0ste/wip-64590-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:45:44 +0000 (08:45 -0700)]
Merge pull request #57194 from k0ste/wip-64590-reef

reef: os/bluestore: fix the problem of l_bluefs_log_compactions double recording

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
10 months agoMerge pull request #56813 from Matan-B/wip-65305-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:45:08 +0000 (08:45 -0700)]
Merge pull request #56813 from Matan-B/wip-65305-reef

reef: osd/SnapMapper: fix _lookup_purged_snap

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
10 months agoMerge pull request #56431 from Matan-B/wip-65096-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:44:36 +0000 (08:44 -0700)]
Merge pull request #56431 from Matan-B/wip-65096-reef

reef: mon/OSDMonitor: fix rmsnap command

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
10 months agoMerge pull request #55778 from ifed01/wip-ifed-fix-63795-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:43:59 +0000 (08:43 -0700)]
Merge pull request #55778 from ifed01/wip-ifed-fix-63795-reef

reef: test/store_test: fix deferred writing test cases

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
10 months agoMerge pull request #55220 from ifed01/wip-ifed-cache-ratios
Yuri Weinstein [Thu, 22 Aug 2024 15:43:16 +0000 (08:43 -0700)]
Merge pull request #55220 from ifed01/wip-ifed-cache-ratios

reef: osd: make _set_cache_sizes ratio aware of cache_kv_onode_ratio

Reviewed-by: Mark Nelson <mnelson@redhat.com>
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
10 months agoMerge pull request #58312 from cbodley/wip-66710-reef
Yuri Weinstein [Thu, 22 Aug 2024 15:42:03 +0000 (08:42 -0700)]
Merge pull request #58312 from cbodley/wip-66710-reef

reef: rgw/notifications/test: fix rabbitmq and kafka issues in centos9

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
10 months agoMerge pull request #58846 from idryomov/wip-58120-reef
Samuel Just [Wed, 21 Aug 2024 21:16:44 +0000 (14:16 -0700)]
Merge pull request #58846 from idryomov/wip-58120-reef

reef: osd: avoid watcher remains after "rados watch" is interrupted

Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agodoc/rados: document unfound object cache-tiering scenario 59381/head
Zac Dover [Tue, 20 Aug 2024 12:45:29 +0000 (22:45 +1000)]
doc/rados: document unfound object cache-tiering scenario

Explain how to deal with "unfound objects" when restarting OSDs in a
cache-tiered environment.

Fixes: https://tracker.ceph.com/issues/44286
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit f01d7a8d5b85170c034acb962b9833913853a1c5)

11 months agoMerge pull request #58513 from k0ste/wip-66890-reef
Yuri Weinstein [Mon, 19 Aug 2024 20:42:57 +0000 (13:42 -0700)]
Merge pull request #58513 from k0ste/wip-66890-reef

reef: mgr/Mgr.cc: clear daemon health metrics instead of removing down/out osd from daemon state

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
11 months agoMerge pull request #57487 from ljflores/wip-65014-reef
Yuri Weinstein [Mon, 19 Aug 2024 20:42:06 +0000 (13:42 -0700)]
Merge pull request #57487 from ljflores/wip-65014-reef

reef: qa/suites/rados/singleton: add POOL_APP_NOT_ENABLED to ignorelist

Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
11 months agoMerge pull request #57408 from k0ste/wip-62927-reef
Yuri Weinstein [Mon, 19 Aug 2024 20:41:12 +0000 (13:41 -0700)]
Merge pull request #57408 from k0ste/wip-62927-reef

reef: mon: stuck peering since warning is misleading

Reviewed-by: Laura Flores <lflores@redhat.com>
11 months agoMerge pull request #57402 from k0ste/wip-65916-reef
Yuri Weinstein [Mon, 19 Aug 2024 20:40:23 +0000 (13:40 -0700)]
Merge pull request #57402 from k0ste/wip-65916-reef

reef: kv/RocksDBStore: Configure compact-on-deletion for all CFs

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
11 months agoMerge pull request #59295 from zdover23/wip-doc-2024-08-19-backport-59256-to-reef
Anthony D'Atri [Mon, 19 Aug 2024 12:54:11 +0000 (05:54 -0700)]
Merge pull request #59295 from zdover23/wip-doc-2024-08-19-backport-59256-to-reef

doc/cephfs: s/mountpoint/mount point/

11 months agodoc/cephfs: s/mountpoint/mount point/ 59295/head
Zac Dover [Sat, 17 Aug 2024 03:37:58 +0000 (13:37 +1000)]
doc/cephfs: s/mountpoint/mount point/

Change the string "mountpoint" to "mount point" in English-language
strings (as opposed to in commands, where the string "mountpoint"
sometimes appears and is correct).

cf. https://github.com/ceph/ceph/pull/58908#discussion_r1697715486
in which page 345 of The IBM Style Guide is referenced to back up this
change.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 57ed73eaa6945c69059d299ea5310eaac57e2299)

11 months agoMerge pull request #59287 from zdover23/wip-doc-2024-08-18-backport-59257-to-reef
Anthony D'Atri [Sat, 17 Aug 2024 21:20:43 +0000 (14:20 -0700)]
Merge pull request #59287 from zdover23/wip-doc-2024-08-18-backport-59257-to-reef

reef: doc/cephfs: s/mountpoint/mount point/

11 months agodoc/cephfs: s/mountpoint/mount point/ 59287/head
Zac Dover [Sat, 17 Aug 2024 03:44:30 +0000 (13:44 +1000)]
doc/cephfs: s/mountpoint/mount point/

Change the string "mountpoint" to "mount point" in English-language
strings (as opposed to in commands, where the string "mountpoint"
sometimes appears and is correct).

cf. https://github.com/ceph/ceph/pull/58908#discussion_r1697715486 in
which page 345 of The IBM Style Guide is referenced to back up this
change.

This commit alters only English-language text and example commands in
which the string "{mount point}" is meant to be replaced. No commands
meant for cutting-and-pasting have been altered in this commit.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit a0f81cfb5094164630f55a717efbbcdce45bce58)

11 months agoMerge pull request #59251 from zdover23/wip-doc-2024-08-16-backport-59167-to-reef
Anthony D'Atri [Fri, 16 Aug 2024 22:53:43 +0000 (15:53 -0700)]
Merge pull request #59251 from zdover23/wip-doc-2024-08-16-backport-59167-to-reef

reef: doc/cephfs: improve "layout fields" text

11 months agodoc/cephfs: improve "layout fields" text 59251/head
Zac Dover [Mon, 12 Aug 2024 12:38:14 +0000 (22:38 +1000)]
doc/cephfs: improve "layout fields" text

Improve "layout fields" text in doc/cephfs/file-layouts.rst, as suggesed
by Anthony D'Atri in these comments:

https://github.com/ceph/ceph/pull/59021#discussion_r1704108581
https://github.com/ceph/ceph/pull/59021#discussion_r1704112320

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 0949b410433837f0509fb73169fa7f22c8f6c256)

11 months agoMerge pull request #59022 from zdover23/wip-doc-2024-08-05-backport-58891-to-reef
Zac Dover [Fri, 16 Aug 2024 09:26:41 +0000 (19:26 +1000)]
Merge pull request #59022 from zdover23/wip-doc-2024-08-05-backport-58891-to-reef

reef: doc/cephfs: edit "Layout Fields" text

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
11 months agoMerge pull request #59234 from zdover23/wip-doc-2024-08-15-backport-59219-to-reef
Anthony D'Atri [Thu, 15 Aug 2024 23:27:15 +0000 (16:27 -0700)]
Merge pull request #59234 from zdover23/wip-doc-2024-08-15-backport-59219-to-reef

reef: doc/rgw/notification: persistent notification queue full behavior

11 months agoMerge pull request #59231 from idryomov/wip-67353-reef
Ilya Dryomov [Thu, 15 Aug 2024 22:27:34 +0000 (00:27 +0200)]
Merge pull request #59231 from idryomov/wip-67353-reef

reef: qa: adjust expected io_opt in krbd_discard_granularity.t

Reviewed-by: Ramana Raja <rraja@redhat.com>
11 months agoMerge pull request #59151 from idryomov/wip-53674-reef
Yuri Weinstein [Thu, 15 Aug 2024 14:29:56 +0000 (07:29 -0700)]
Merge pull request #59151 from idryomov/wip-53674-reef

reef: librbd/crypto: fix issue when live-migrating from encrypted export

Reviewed-by: Ramana Raja <rraja@redhat.com>
11 months agodoc/rgw/notification: persistent notification queue full behavior 59234/head
Yuval Lifshitz [Wed, 14 Aug 2024 11:02:09 +0000 (11:02 +0000)]
doc/rgw/notification: persistent notification queue full behavior

Fixes: https://tracker.ceph.com/issues/50610
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit d12ba11741dc749bcce315bf467078595fa95b24)

11 months agoqa: cover a custom object size in krbd_discard_granularity.t 59231/head
Ilya Dryomov [Thu, 8 Aug 2024 20:01:47 +0000 (22:01 +0200)]
qa: cover a custom object size in krbd_discard_granularity.t

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit e8126bf2f6411069da5074ac3a5a2ea16c0bba0c)

11 months agoqa: adjust expected io_opt in krbd_discard_granularity.t
Ilya Dryomov [Thu, 8 Aug 2024 19:50:40 +0000 (21:50 +0200)]
qa: adjust expected io_opt in krbd_discard_granularity.t

With linux.git commit a00d4bfce7c6 ("rbd: increase io_opt again"),
io_opt is set to object set size.

Fixes: https://tracker.ceph.com/issues/67353
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 144270eb737850159614abd63c261baaa83a8afc)

11 months agoMerge pull request #59215 from zdover23/wip-doc-2024-08-14-backport-59168-to-reef
Anthony D'Atri [Wed, 14 Aug 2024 13:18:34 +0000 (06:18 -0700)]
Merge pull request #59215 from zdover23/wip-doc-2024-08-14-backport-59168-to-reef

reef: doc/cephfs: improve cache-configuration.rst

11 months agodoc/cephfs: improve cache-configuration.rst 59215/head
Zac Dover [Mon, 12 Aug 2024 12:47:08 +0000 (22:47 +1000)]
doc/cephfs: improve cache-configuration.rst

Improve the text in the section about dealing with cache-pressure alerts
that was added in https://github.com/ceph/ceph/pull/59077. The changes
in this commit were suggested by Anthony D'Atri.

Co-authored-by: Patrick Donnelly <pdonnelly@redhat.com>
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit aa3bdae2314fef2fca8fc12dca006af657235e17)

11 months agolibrbd/migration: make ImageDispatch handle encryption for non-native formats 59151/head
Ilya Dryomov [Fri, 2 Aug 2024 07:27:42 +0000 (09:27 +0200)]
librbd/migration: make ImageDispatch handle encryption for non-native formats

With NativeFormat now being handled via dispatch, handling encryption
for non-native formats (i.e. mapping to raw image extents and performing
decryption/mapping back on completion) in the migration layer is really
straightforward.

Note that alignment doesn't need to be performed in the migration layer
because it happens on the destination image -- the "align and resubmit"
logic in C_UnalignedObjectReadRequest should kick in before the call to
read_parent().

Fixes: https://tracker.ceph.com/issues/53674
Co-authored-by: Or Ozeri <oro@il.ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0000c3447407772039121bb4499f243df1c889da)

Conflicts:
src/librbd/migration/ImageDispatch.cc [ commit 20aee5bbbcb5
  ("neorados: Make IOContext getters/setters less weird") not
  in reef ]

11 months agolibrbd: don't make an extra copy of image_extents in C_ImageReadRequest ctor
Ilya Dryomov [Mon, 29 Jul 2024 09:01:17 +0000 (11:01 +0200)]
librbd: don't make an extra copy of image_extents in C_ImageReadRequest ctor

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b20a897061feabc4e22c339c4e7a8aa5155151e8)

11 months agoqa/workunits/rbd: perform cleanup in test_clone_encryption()
Ilya Dryomov [Tue, 6 Aug 2024 11:24:02 +0000 (13:24 +0200)]
qa/workunits/rbd: perform cleanup in test_clone_encryption()

... so that RAW_DEV can be unmapped and future tests can reuse testimg
and other image names without bumping into watchers and older snapshots.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 82d26909cb12b62d88f69f90eb8af692e497bddb)

11 months agoqa/workunits/rbd: no need to chmod in luks-encryption.sh
Ilya Dryomov [Sat, 3 Aug 2024 17:31:03 +0000 (19:31 +0200)]
qa/workunits/rbd: no need to chmod in luks-encryption.sh

Most workunits expect the user to be a member of "disk" group, so we
can pretty much rely on that being the case at this point.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 830cbee7a5f875af04f335266b02ad96e4cd71c4)

11 months agolibrbd/migration: make FormatInterface::read() void again
Ilya Dryomov [Fri, 26 Jul 2024 14:54:31 +0000 (16:54 +0200)]
librbd/migration: make FormatInterface::read() void again

Now that NativeFormat is handled via dispatch, FormatInterface::read()
can be void again for consistency with FormatInterface::list_snaps().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b6c7f69b8044f9206aa982c2aba6466c49fd2bea)

Conflicts:
src/librbd/migration/ImageDispatch.cc [ commit 20aee5bbbcb5
  ("neorados: Make IOContext getters/setters less weird") not
  in reef ]

11 months agolibrbd/migration: close source image in OpenSourceImageRequest
Ilya Dryomov [Fri, 26 Jul 2024 10:13:08 +0000 (12:13 +0200)]
librbd/migration: close source image in OpenSourceImageRequest

Currently, on errors in FormatInterface::open(), RawFormat disposes
of src_image_ctx, but QCOWFormat doesn't, which is a leak.  Rather than
having each format do it internally, do it in OpenSourceImageRequest.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 63159d6b431470f5edc4b110cebf46865c550689)

11 months agolibrbd/migration: don't instantiate NativeFormat, handle it via dispatch
Ilya Dryomov [Thu, 18 Jul 2024 16:11:18 +0000 (18:11 +0200)]
librbd/migration: don't instantiate NativeFormat, handle it via dispatch

Trying to shoehorn NativeFormat under FormatInterface doesn't really
work.  It fundamentally doesn't fit in:

- Unlike for RawFormat and QCOWFormat, src_image_ctx for NativeFormat
  is not dummy -- it's an ImageCtx for a real RBD image.  Pre-creating
  it in OpenSourceImageRequest with the expectation that placeholder
  values would be overridden later forces NativeFormat to reach into
  ImageCtx guts, duplicating the logic in the constructor.  This also
  necessitates calling snap_set() in a separate step, since snap_id
  isn't known at the time ImageCtx is created.

- Unlike for RawFormat and QCOWFormat, get_image_size() and
  get_snapshots() implementations for NativeFormat are dummy.

- read() and list_snaps() implementations for NativeFormat are
  inconsistent: read() passes through io::ImageDispatch layer, but
  list_snaps() doesn't.  Both can be passing through, meaning that in
  essence these are also dummy.

All of this is with today's code.  Additional complications arise with
planned support for migrating from external clusters where src_image_ctx
would require more invasive patching to "move" to an IoCtx belonging to
an external cluster's CephContext and also with other work.

With the above in mind, NativeFormat actually consists of:

1. Code that parses the "type: native" source spec
2. Code that patches ImageCtx, working around the fact that it's
   pre-created in OpenSourceImageRequest
3. A bunch of dummy implementations for FormatInterface

With this change, (1) is wrapped into a static method that also creates
ImageCtx after all required parameters are known and (2) and (3) go away
entirely.  NativeFormat no longer implements FormatInterface and doesn't
get instantiated at all.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit cacf7ca941876f64f9a04867ffc6cdcb484d89b9)

11 months agolibrbd/migration/NativeFormat: refactor source spec parsing
Ilya Dryomov [Wed, 17 Jul 2024 19:11:51 +0000 (21:11 +0200)]
librbd/migration/NativeFormat: refactor source spec parsing

In preparation for not instantiating NativeFormat and losing a copy of
the source spec JSON object in m_json_object, refactor the parsing code
to use only const methods (which std::map's operator[] isn't) and local
variables where possible.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 3bbf1f5ddbaa4a8c252d70a384e23852f0c537c1)

11 months agolibrbd/migration/NativeFormat: do pool lookup instead of creating io_ctx
Ilya Dryomov [Wed, 17 Jul 2024 18:05:08 +0000 (20:05 +0200)]
librbd/migration/NativeFormat: do pool lookup instead of creating io_ctx

A Rados instance is sufficient to map the pool name to the pool ID,
no need to involve an IoCtx instance as well.  While at it, report
distinctive errors for a non-existing pool and an invalid JSON value
for pool_name key cases.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 1ba9a32598f50073b574b4649736d76b678a1c58)

11 months agolibrbd/migration: make SourceSpecBuilder::parse_source_spec() static
Ilya Dryomov [Wed, 17 Jul 2024 13:06:33 +0000 (15:06 +0200)]
librbd/migration: make SourceSpecBuilder::parse_source_spec() static

In preparation for divorcing NativeFormat from FormatInterface and
changing when/how src_image_ctx is created, make parse_source_spec()
independent of src_image_ctx.  The "invalid source-spec JSON" error is
duplicated by the "failed to parse migration source-spec" error, so
just get rid of the former to spare having to pass CephContext to
parse_source_spec().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit f172fb97be9a6129be7cdbaa87346dc6c8e8ccb1)

11 months agolibrbd/migration/OpenSourceImageRequest: rename io_ctx -> dst_io_ctx
Ilya Dryomov [Tue, 30 Jul 2024 20:56:17 +0000 (22:56 +0200)]
librbd/migration/OpenSourceImageRequest: rename io_ctx -> dst_io_ctx

For now, this is just slightly clearer.  The distinction would become
important with planned support for migrating from external clusters.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit c14356b1f9eea0988e071f40dc0df005f70edd4d)

11 months agolibrbd/migration: massage some error messages
Ilya Dryomov [Sun, 14 Jul 2024 17:48:33 +0000 (19:48 +0200)]
librbd/migration: massage some error messages

Add missing spaces, don't use the word stream when reporting errors
on POSIX file operations (open() and lseek64()) and fix a cut-and-paste
typo in RawSnapshot.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 789df2ce38f35ffb3e86974e02868e5fff71e72c)

11 months agolibrbd/api: clean up leftovers in Migration::prepare_import()
Ilya Dryomov [Sun, 14 Jul 2024 17:21:47 +0000 (19:21 +0200)]
librbd/api: clean up leftovers in Migration::prepare_import()

Dead code after return and an unused variable.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b92ad49a35536fff87d840ffbf171aee61b05424)

11 months agoMerge pull request #59149 from zdover23/wip-doc-2024-08-11-backport-59077-to-reef
Anthony D'Atri [Sun, 11 Aug 2024 15:37:44 +0000 (08:37 -0700)]
Merge pull request #59149 from zdover23/wip-doc-2024-08-11-backport-59077-to-reef

reef: doc/cephfs: add cache pressure information

11 months agoMerge pull request #58853 from idryomov/wip-67051-reef
Yuri Weinstein [Sun, 11 Aug 2024 15:03:00 +0000 (08:03 -0700)]
Merge pull request #58853 from idryomov/wip-67051-reef

reef: qa/workunits/rbd: avoid caching effects in luks-encryption.sh

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
11 months agoMerge pull request #58540 from idryomov/wip-66886-reef
Yuri Weinstein [Sun, 11 Aug 2024 15:01:57 +0000 (08:01 -0700)]
Merge pull request #58540 from idryomov/wip-66886-reef

reef: qa: account for rbd_trash object in krbd_data_pool.sh + related ceph{,adm} task fixes

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Adam King adking@redhat.com
11 months agodoc/cephfs: add cache pressure information 59149/head
Zac Dover [Wed, 7 Aug 2024 13:11:11 +0000 (23:11 +1000)]
doc/cephfs: add cache pressure information

Add information to doc/cephfs/cache-configuration.rst about how to deal
with a message that reads "clients failing to respond to cache
pressure". This procedure explains how to slow the growth of the
recall_caps value so that it does not exceed the
mds_recall_warning_threshold.

The information in this commit was developed by Eugen Block. See
https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/5ROH5CWKKOEIQMVXOVRT5OO7CWK2HPM3/#J65DFUPP4BY57MICPANXKI7KAXSZ5Z5P
and https://www.spinics.net/lists/ceph-users/msg73188.html.

Fixes: https://tracker.ceph.com/issues/57115
Co-authored-by: Eugen Block <eblock@nde.ag>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit bf26274ae4737417193f8c2b56bea20eb2a358aa)

11 months agoMerge pull request #57901 from adamemerson/wip-62292-reef
Shilpa Jagannath [Fri, 9 Aug 2024 17:14:52 +0000 (10:14 -0700)]
Merge pull request #57901 from adamemerson/wip-62292-reef

reef: rgw: modify string match_wildcards with fnmatch

11 months agoMerge pull request #57301 from cbodley/wip-65822-reef
Yuri Weinstein [Fri, 9 Aug 2024 13:56:23 +0000 (06:56 -0700)]
Merge pull request #57301 from cbodley/wip-65822-reef

reef: rgw: fix CompleteMultipart error handling regression

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
11 months agoMerge pull request #52611 from cbodley/wip-62142-reef
Yuri Weinstein [Fri, 9 Aug 2024 13:55:23 +0000 (06:55 -0700)]
Merge pull request #52611 from cbodley/wip-62142-reef

reef: valgrind: update suppression for SyscallParam under call_init

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
11 months agoMerge pull request #59100 from zdover23/wip-doc-2024-08-09-backport-59807-to-reef
Anthony D'Atri [Fri, 9 Aug 2024 01:02:52 +0000 (18:02 -0700)]
Merge pull request #59100 from zdover23/wip-doc-2024-08-09-backport-59807-to-reef

reef: docs/rados/operations/stretch-mode: warn device class is not supported

11 months agodocs/rados/operations/stretch-mode: warn device class is not supported 59100/head
Kamoltat Sirivadhna [Wed, 7 Aug 2024 19:20:41 +0000 (19:20 +0000)]
docs/rados/operations/stretch-mode: warn device class is not supported

Signed-off-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
(cherry picked from commit aa1d8cf4fa321e24e850bd5f687a6ddad3ce05e3)

11 months agorgw: move publish_complete() back to RGWCompleteMultipart::execute() 57301/head
Casey Bodley [Fri, 3 May 2024 19:43:39 +0000 (15:43 -0400)]
rgw: move publish_complete() back to RGWCompleteMultipart::execute()

move publish_complete() and meta_obj->delete_object() back to execute()
so they only run on success. this allows several member variables to
move back to execute()'s stack as well

Fixes: https://tracker.ceph.com/issues/65746
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit ebb37c7bb3aee4663220054c6516164bf046fa8c)

11 months agorgw: CompleteMultipart uses s->object for Notification
Casey Bodley [Fri, 3 May 2024 19:29:00 +0000 (15:29 -0400)]
rgw: CompleteMultipart uses s->object for Notification

get_notification() should be associated with the target object
s->object. the meta_obj has the wrong object name, so required passing
s->object->get_name() as an extra argument

importantly, Notification no longer depends on the lifetime of meta_obj
to avoid a dangling pointer, while the lifetime of s->object is guaranteed

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 91dc7f3be945dccd8f59e070e9bc43a2a5df12db)

11 months agorgw: CompleteMultipart uses s->object instead of target_obj
Casey Bodley [Fri, 3 May 2024 19:17:48 +0000 (15:17 -0400)]
rgw: CompleteMultipart uses s->object instead of target_obj

most requests operate directly on s->object. there's no reason to
allocate a separate target_obj for the same purpose

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d09b8ab2e077ceb6a0c6dfb99ce1b45d63a28be4)

11 months agoMerge pull request #58793 from ivancich/wip-67155-reef
Shilpa Jagannath [Thu, 8 Aug 2024 20:34:18 +0000 (13:34 -0700)]
Merge pull request #58793 from ivancich/wip-67155-reef

reef: test/rgw: address potential race condition in reshard testing

11 months agoMerge pull request #58435 from cbodley/wip-64465-reef
Shilpa Jagannath [Thu, 8 Aug 2024 20:33:21 +0000 (13:33 -0700)]
Merge pull request #58435 from cbodley/wip-64465-reef

reef: rgw: cumulatively fix 6 AWS SigV4 request failure cases

11 months agoMerge pull request #58168 from cbodley/wip-66580-reef
Shilpa Jagannath [Thu, 8 Aug 2024 20:31:52 +0000 (13:31 -0700)]
Merge pull request #58168 from cbodley/wip-66580-reef

reef: rgw: optimize gc chain size calculation

11 months agoMerge pull request #57425 from mkogan1/wip-65886-reef
Shilpa Jagannath [Thu, 8 Aug 2024 20:30:59 +0000 (13:30 -0700)]
Merge pull request #57425 from mkogan1/wip-65886-reef

reef: rgw/beast: fix crash observed in SSL stream.async_shutdown()

11 months agoMerge pull request #57127 from jzhu116-bloomberg/wip-64325-reef
Shilpa Jagannath [Thu, 8 Aug 2024 20:30:41 +0000 (13:30 -0700)]
Merge pull request #57127 from jzhu116-bloomberg/wip-64325-reef

reef: rgw/multisite: avoid writing multipart parts to the bucket index log

11 months agoMerge pull request #56615 from prazumovsky/wip-63621
Shilpa Jagannath [Thu, 8 Aug 2024 20:26:50 +0000 (13:26 -0700)]
Merge pull request #56615 from prazumovsky/wip-63621

reef: rgw/swift: preserve dashes/underscores in swift user metadata names

11 months agoMerge pull request #56554 from petrutlucian94/wip-64326-reef
Shilpa Jagannath [Thu, 8 Aug 2024 20:25:12 +0000 (13:25 -0700)]
Merge pull request #56554 from petrutlucian94/wip-64326-reef

reef: RGW: fix cloud-sync not being able to sync folders

11 months agoMerge pull request #55200 from ifed01/wip-ifed-refactor-spillover-tests-reef
Yuri Weinstein [Thu, 8 Aug 2024 15:21:20 +0000 (08:21 -0700)]
Merge pull request #55200 from ifed01/wip-ifed-refactor-spillover-tests-reef

reef: test/store_test: refactor spillover tests

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
11 months agoMerge pull request #55136 from ifed01/wip-ifed-refresh-perf-counters-ref
Yuri Weinstein [Thu, 8 Aug 2024 15:20:51 +0000 (08:20 -0700)]
Merge pull request #55136 from ifed01/wip-ifed-refresh-perf-counters-ref

reef: os: introduce ObjectStore::refresh_perf_counters() method

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
11 months agoMerge pull request #55135 from ifed01/wip-ifed-fast-shutdown-assert-ref
Yuri Weinstein [Thu, 8 Aug 2024 15:19:15 +0000 (08:19 -0700)]
Merge pull request #55135 from ifed01/wip-ifed-fast-shutdown-assert-ref

reef: osd: do not assert on fast shutdown timeout

Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
11 months agoMerge pull request #55015 from Matan-B/wip-63880-reef
Yuri Weinstein [Thu, 8 Aug 2024 15:15:13 +0000 (08:15 -0700)]
Merge pull request #55015 from Matan-B/wip-63880-reef

reef: tools/ceph_objectstore_tool: Support get/set/superblock

Reviewed-by: Samuel Just <sjust@redhat.com>
11 months agoMerge pull request #54533 from pdvian/wip-63365-reef
Yuri Weinstein [Thu, 8 Aug 2024 15:14:28 +0000 (08:14 -0700)]
Merge pull request #54533 from pdvian/wip-63365-reef

reef: mgr: remove out&down osd from mgr daemons

Reviewed-by: Laura Flores <lflores@redhat.com>
11 months agoMerge pull request #59079 from zdover23/wip-doc-2024-08-07-backport-59040-to-reef
Anthony D'Atri [Wed, 7 Aug 2024 19:26:41 +0000 (15:26 -0400)]
Merge pull request #59079 from zdover23/wip-doc-2024-08-07-backport-59040-to-reef

reef: doc: documenting the feature that scrub clear the entries from damage…

11 months agodoc: documenting the feature that scrub clear the entries from damage table on repair 59079/head
neeraj pratap singh [Mon, 5 Aug 2024 19:50:35 +0000 (01:20 +0530)]
doc: documenting the feature that scrub clear the entries from damage table on repair

Fixes: https://tracker.ceph.com/issues/67337
Signed-off-by: Neeraj Pratap Singh <neesingh@redhat.com>
(cherry picked from commit 140e77638dc95fefcf62f01fe7e45bc0729439be)

11 months agoMerge pull request #58998 from guits/wip-64642-reef
Guillaume Abrioux [Wed, 7 Aug 2024 10:42:46 +0000 (12:42 +0200)]
Merge pull request #58998 from guits/wip-64642-reef

reef: src/ceph-volume/ceph_volume/devices/lvm/listing.py : lvm list filters with vg name

11 months agoreef: rgw: invalidate and retry keystone admin token 59075/head
Tobias Urdin [Thu, 18 Jan 2024 09:29:05 +0000 (09:29 +0000)]
reef: rgw: invalidate and retry keystone admin token

We validate client tokens against the Keystone API by
sending our own "admin token" that is allowed to lookup
client tokens.

This "admin token" is cached and upon checking the cache
we verify the expiration on the token before using it but
we have no logic to invalidate the cache if the response
from the Keystone API says that the "admin token" is invalid.

Since we don't invalidate it and it still has not expired
it will stay in our cache and continue to cause Swift API
requests for clients to be dropped because of the invalid
admin token, until service is restarted, admin token is
expired (which it can already be) or until
the whole cache is dropped or TokenCache::invalidate()
called on the admin token.

There is probably multiple places in Keystone where it
invalidates tokens, but one example where the "admin token"
would be invalidated and return  HTTP 401 status code is if
the user that is configured in rgw_keystone_admin_user has
it's password changed (even if it's the same password as the
current one) then Keystone will invalidate it's cache and
invalidated existing tokens even if they have not expired yet.

Fixes: https://tracker.ceph.com/issues/64494
Signed-off-by: Tobias Urdin <tobias.urdin@binero.se>
(cherry picked from commit df23e4b2ea4f8647271a9ce541a1fdbc4d9fe4a6)

11 months agosrc/ceph-volume/ceph_volume/devices/lvm/listing.py : lvm list filters also on vg... 58998/head
pilem94 [Tue, 3 Oct 2023 20:09:48 +0000 (16:09 -0400)]
src/ceph-volume/ceph_volume/devices/lvm/listing.py : lvm list filters also on vg name

This commit fix the listing of LVs with the same name on multiple VG

Fixes: https://tracker.ceph.com/issues/62320
Signed-off-by: Pierre Lemay <pierre.lemay@gmail.com>
(cherry picked from commit b2c4e62afac32edda142a51eb601420a1a79bb2f)

11 months agoMerge pull request #58997 from guits/wip-66465-reef
Guillaume Abrioux [Wed, 7 Aug 2024 07:28:09 +0000 (09:28 +0200)]
Merge pull request #58997 from guits/wip-66465-reef

reef: ceph-volume: fix set_dmcrypt_no_workqueue()

11 months agoMerge pull request #58996 from guits/wip-66446-reef
Guillaume Abrioux [Wed, 7 Aug 2024 07:27:23 +0000 (09:27 +0200)]
Merge pull request #58996 from guits/wip-66446-reef

reef: ceph-volume: do source devices zapping if they're detached.

11 months agoMerge pull request #58483 from guits/wip-66027-reef
Guillaume Abrioux [Wed, 7 Aug 2024 07:25:09 +0000 (09:25 +0200)]
Merge pull request #58483 from guits/wip-66027-reef

reef: node-proxy: make the daemon discover endpoints

11 months agoMerge pull request #57475 from guits/wip-66022-reef
Guillaume Abrioux [Wed, 7 Aug 2024 07:24:06 +0000 (09:24 +0200)]
Merge pull request #57475 from guits/wip-66022-reef

reef: cephadm: change loki/promtail default image tags

11 months agoMerge pull request #59063 from zdover23/wip-doc-2024-08-07-backport-59060-to-reef
Anthony D'Atri [Wed, 7 Aug 2024 00:16:19 +0000 (20:16 -0400)]
Merge pull request #59063 from zdover23/wip-doc-2024-08-07-backport-59060-to-reef

reef: doc/dev/peering: Change acting set num

11 months agodoc/dev/peering: Change acting set num 59063/head
qn2060 [Tue, 6 Aug 2024 16:40:42 +0000 (00:40 +0800)]
doc/dev/peering: Change acting set num

This commit updates the peering doc page with the changed [2,1,2] to [3,1,2]

Signed-off-by: qn2060 <qn2060@users.noreply.github.com>
(cherry picked from commit 103d65ea6787ab16d1824f71578264e0abb9820c)

11 months agocommon/dout: fix FTBFS on GCC 14 59056/head
Radoslaw Zarzynski [Wed, 24 Jan 2024 17:22:44 +0000 (17:22 +0000)]
common/dout: fix FTBFS on GCC 14

The following problem has been reported by Kaleb Keithley:

```
/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h: In lambda function:
/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:184:73: error: call to non-‘constexpr’ function â€˜virtual unsigned int DoutPrefixProvider::get_subsys() const’
  184 |     dout_impl(pdpp->get_cct(), ceph::dout::need_dynamic(pdpp->get_subsys()), v) \
      |                                                         ~~~~~~~~~~~~~~~~^~
/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:155:58: note: in definition of macro â€˜dout_impl’
  155 |       return (cctX->_conf->subsys.template should_gather<sub, v>());    \
      |                                                          ^~~
/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h:3617:3: note: in expansion of macro â€˜ldpp_dout’
 3617 |   ldpp_dout(dpp, 10) << "build_prior all_probe " << all_probe << dendl;
      |   ^~~~~~~~~
```

For details of the problem and the idea behind the fix,
please refer to the comment this commit brings to `dout.h`.

The minimized replicator that the facilitated Goldbot-based
investigation:

```cpp
namespace ceph::dout {

template<typename T>
struct dynamic_marker_t {
  T value;
  // constexpr ctor isn't needed as it's an aggregate type
  constexpr operator T() const { return value; }
};

template<typename T>
constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
  return dynamic_marker_t<T>{ std::forward<T>(t) };
}

template<typename T>
struct is_dynamic : public std::false_type {};

template<typename T>
struct is_dynamic<dynamic_marker_t<T>> : public std::true_type {};

} // ceph::dout

struct subsys_t {
  template <unsigned SubV, int LvlV>
  bool should_gather() const {
    return true;
  }
  bool should_gather(const unsigned sub, int level) const {
    return false;
  }
};

static subsys_t subsys;

  do {                                                                  \
  const bool should_gather = [&](const auto cctX) {                     \
    if constexpr (ceph::dout::is_dynamic<decltype(sub)>::value ||       \
                  ceph::dout::is_dynamic<decltype(v)>::value) {         \
      std::cout << "the dynamic path" << std::endl;                     \
      return subsys.should_gather(sub, v);                              \
    } else {                                                            \
      /* The parentheses are **essential** because commas in angle      \
       * brackets are NOT ignored on macro expansion! A language's      \
       * limitation, sorry. */                                          \
      std::cout << "the static path" << std::endl;                      \
      /*return subsys.should_gather(sub, v);*/                              \
      return (subsys.template should_gather<sub, v>());             \
    }                                                                   \
  }(cct);                                                               \
  } while (0)

  if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \
    dout_impl(42, sub, v)

  if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \
    dout_impl(42, ceph::dout::need_dynamic(42), v)

int main() {
    std::random_device dev;
    std::mt19937 rng(dev());
    std::uniform_int_distribution<std::mt19937::result_type> dist6(1,6); // distribution in range [1, 6]

    int sub = dist6(rng);
    ldpp_dout("mocked out", sub);
    //ldpp_subdout("mocked out", 4, 3);
}
```

Fixes: https://tracker.ceph.com/issues/64050
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 0eace4ea9ea42412d4d6a16d24a8660642e41173)

11 months agoMerge pull request #59032 from zdover23/wip-doc-2024-08-05-backport-57905-to-reef
Anthony D'Atri [Tue, 6 Aug 2024 03:19:46 +0000 (23:19 -0400)]
Merge pull request #59032 from zdover23/wip-doc-2024-08-05-backport-57905-to-reef

reef: doc/mgr/dashboard: fix TLS typo

11 months agodoc/mgr/dashboard: fix TLS typo 59032/head
Mindy Preston [Wed, 5 Jun 2024 16:58:35 +0000 (11:58 -0500)]
doc/mgr/dashboard: fix TLS typo

Change "SSL/TSL" to "SSL/TLS"

Signed-off-by: Mindy Preston <mcpreston@icecube.wisc.edu>
(cherry picked from commit e63b967aeb00a667ab5c91b9b526c7a19a9539ec)

11 months agodoc/cephfs: edit "Layout Fields" text 59022/head
Zac Dover [Sun, 28 Jul 2024 13:35:21 +0000 (23:35 +1000)]
doc/cephfs: edit "Layout Fields" text

Improve the English in the "Layout Fields" section of
doc/cephfs/file-layouts.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 9607b66e97f73b5b7c53c2610b928cd6a420c9f2)

11 months agoMerge pull request #59016 from Svelar/wip-revert-rgw
Rongqi Sun [Mon, 5 Aug 2024 10:58:51 +0000 (18:58 +0800)]
Merge pull request #59016 from Svelar/wip-revert-rgw

Revert "reef: rgw/amqp: lock erase and create connection before emplace"

11 months agorgw/amqp: lock erase and create connection before emplace 59018/head
Rongqi Sun [Tue, 28 May 2024 03:13:22 +0000 (03:13 +0000)]
rgw/amqp: lock erase and create connection before emplace

When sanitizer is enabled, unittest_rgw_amqp shows,

```
=================================================================
==1429129==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 416 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57eecfc in amqp_new_connection /root/ceph/src/test/rgw/amqp_mock.cc:110:12
    #2 0xaaaab58095d8 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:373:16
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab5669bb8 in posix_memalign (/root/ceph/build/bin/unittest_rgw_amqp+0x189bb8) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f5294 in boost::alignment::aligned_alloc(unsigned long, unsigned long) /root/ceph/build/boost/include/boost/align/detail/aligned_alloc_posix.hpp:26:9
    #2 0xaaaab57f4d88 in boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul>::allocate(unsigned long, void const*) /root/ceph/build/boost/include/boost/align/aligned_allocator.hpp:70:19
    #3 0xaaaab57f4204 in boost::lockfree::detail::freelist_stack<boost::lockfree::queue<amqp_basic_ack_t_>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul> >::freelist_stack<boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul> >(boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul> const&, unsigned long) /root/ceph/build/boost/include/boost/lockfree/detail/freelist.hpp:62:31
    #4 0xaaaab57f3728 in boost::lockfree::queue<amqp_basic_ack_t_>::queue(unsigned long) /root/ceph/build/boost/include/boost/lockfree/queue.hpp:234:9
    #5 0xaaaab57f2ea8 in amqp_connection_state_t_::amqp_connection_state_t_() /root/ceph/src/test/rgw/amqp_mock.cc:90:5
    #6 0xaaaab57eed04 in amqp_new_connection /root/ceph/src/test/rgw/amqp_mock.cc:110:16
    #7 0xaaaab58095d8 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:373:16
    #8 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #9 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #10 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #11 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #12 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #13 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #14 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #15 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #16 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab5669bb8 in posix_memalign (/root/ceph/build/bin/unittest_rgw_amqp+0x189bb8) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f5294 in boost::alignment::aligned_alloc(unsigned long, unsigned long) /root/ceph/build/boost/include/boost/align/detail/aligned_alloc_posix.hpp:26:9
    #2 0xaaaab57f90bc in boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul>::allocate(unsigned long, void const*) /root/ceph/build/boost/include/boost/align/aligned_allocator.hpp:70:19
    #3 0xaaaab57f8538 in boost::lockfree::detail::freelist_stack<boost::lockfree::queue<amqp_basic_nack_t_>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul> >::freelist_stack<boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul> >(boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul> const&, unsigned long) /root/ceph/build/boost/include/boost/lockfree/detail/freelist.hpp:62:31
    #4 0xaaaab57f3a6c in boost::lockfree::queue<amqp_basic_nack_t_>::queue(unsigned long) /root/ceph/build/boost/include/boost/lockfree/queue.hpp:234:9
    #5 0xaaaab57f2eb8 in amqp_connection_state_t_::amqp_connection_state_t_() /root/ceph/src/test/rgw/amqp_mock.cc:91:5
    #6 0xaaaab57eed04 in amqp_new_connection /root/ceph/src/test/rgw/amqp_mock.cc:110:16
    #7 0xaaaab58095d8 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:373:16
    #8 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #9 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #10 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #11 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #12 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #13 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #14 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #15 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #16 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Direct leak of 9 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56690a0 in malloc (/root/ceph/build/bin/unittest_rgw_amqp+0x1890a0) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f2754 in amqp_bytes_malloc_dup /root/ceph/src/test/rgw/amqp_mock.cc:384:18
    #2 0xaaaab580b4b4 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:509:28
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0xaaaab5669bb8 in posix_memalign (/root/ceph/build/bin/unittest_rgw_amqp+0x189bb8) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f5294 in boost::alignment::aligned_alloc(unsigned long, unsigned long) /root/ceph/build/boost/include/boost/align/detail/aligned_alloc_posix.hpp:26:9
    #2 0xaaaab57f4d88 in boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul>::allocate(unsigned long, void const*) /root/ceph/build/boost/include/boost/align/aligned_allocator.hpp:70:19
    #3 0xaaaab57f4204 in boost::lockfree::detail::freelist_stack<boost::lockfree::queue<amqp_basic_ack_t_>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul> >::freelist_stack<boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul> >(boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_ack_t_>::node, 64ul> const&, unsigned long) /root/ceph/build/boost/include/boost/lockfree/detail/freelist.hpp:62:31
    #4 0xaaaab57f3728 in boost::lockfree::queue<amqp_basic_ack_t_>::queue(unsigned long) /root/ceph/build/boost/include/boost/lockfree/queue.hpp:234:9
    #5 0xaaaab57f2ea8 in amqp_connection_state_t_::amqp_connection_state_t_() /root/ceph/src/test/rgw/amqp_mock.cc:90:5
    #6 0xaaaab57eed04 in amqp_new_connection /root/ceph/src/test/rgw/amqp_mock.cc:110:16
    #7 0xaaaab58095d8 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:373:16
    #8 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #9 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #10 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #11 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #12 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #13 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #14 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #15 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #16 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 65536 byte(s) in 1024 object(s) allocated from:
    #0 0xaaaab5669bb8 in posix_memalign (/root/ceph/build/bin/unittest_rgw_amqp+0x189bb8) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f5294 in boost::alignment::aligned_alloc(unsigned long, unsigned long) /root/ceph/build/boost/include/boost/align/detail/aligned_alloc_posix.hpp:26:9
    #2 0xaaaab57f90bc in boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul>::allocate(unsigned long, void const*) /root/ceph/build/boost/include/boost/align/aligned_allocator.hpp:70:19
    #3 0xaaaab57f8538 in boost::lockfree::detail::freelist_stack<boost::lockfree::queue<amqp_basic_nack_t_>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul> >::freelist_stack<boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul> >(boost::alignment::aligned_allocator<boost::lockfree::queue<amqp_basic_nack_t_>::node, 64ul> const&, unsigned long) /root/ceph/build/boost/include/boost/lockfree/detail/freelist.hpp:62:31
    #4 0xaaaab57f3a6c in boost::lockfree::queue<amqp_basic_nack_t_>::queue(unsigned long) /root/ceph/build/boost/include/boost/lockfree/queue.hpp:234:9
    #5 0xaaaab57f2eb8 in amqp_connection_state_t_::amqp_connection_state_t_() /root/ceph/src/test/rgw/amqp_mock.cc:91:5
    #6 0xaaaab57eed04 in amqp_new_connection /root/ceph/src/test/rgw/amqp_mock.cc:110:16
    #7 0xaaaab58095d8 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:373:16
    #8 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #9 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #10 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #11 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #12 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #13 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #14 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #15 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #16 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57eefb0 in amqp_tcp_socket_new /root/ceph/src/test/rgw/amqp_mock.cc:127:19
    #2 0xaaaab5809740 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:401:14
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f102c in amqp_queue_declare /root/ceph/src/test/rgw/amqp_mock.cc:283:18
    #2 0xaaaab580ad14 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:480:27
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f2280 in amqp_basic_consume /root/ceph/src/test/rgw/amqp_mock.cc:359:20
    #2 0xaaaab580b124 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:493:29
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f0214 in amqp_channel_open /root/ceph/src/test/rgw/amqp_mock.cc:213:23
    #2 0xaaaab5809e78 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:448:21
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f0294 in amqp_channel_open /root/ceph/src/test/rgw/amqp_mock.cc:217:21
    #2 0xaaaab580a188 in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:453:21
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f1454 in amqp_confirm_select /root/ceph/src/test/rgw/amqp_mock.cc:291:20
    #2 0xaaaab580a49c in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:458:21
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Indirect leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0xaaaab56a0008 in operator new(unsigned long) (/root/ceph/build/bin/unittest_rgw_amqp+0x1c0008) (BuildId: a20c317434e8d5f2ec33bbb71a69d81eb751c494)
    #1 0xaaaab57f0548 in amqp_exchange_declare /root/ceph/src/test/rgw/amqp_mock.cc:231:21
    #2 0xaaaab580a93c in rgw::amqp::new_state(rgw::amqp::connection_t*, rgw::amqp::connection_id_t const&) /root/ceph/src/rgw/rgw_amqp.cc:466:21
    #3 0xaaaab5813c70 in rgw::amqp::Manager::run() /root/ceph/src/rgw/rgw_amqp.cc:684:18
    #4 0xaaaab5849e50 in void std::__invoke_impl<void, void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(std::__invoke_memfun_deref, void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
    #5 0xaaaab5849b48 in std::__invoke_result<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>::type std::__invoke<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*>(void (rgw::amqp::Manager::*&&)() noexcept, rgw::amqp::Manager*&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
    #6 0xaaaab5849978 in void std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::_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
    #7 0xaaaab584979c in std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> >::operator()() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:266:11
    #8 0xaaaab5849420 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (rgw::amqp::Manager::*)() noexcept, rgw::amqp::Manager*> > >::_M_run() /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
    #9 0xffffb0fb31f8  (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31f8) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #10 0xffffb0d7d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #11 0xffffb0de5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

SUMMARY: AddressSanitizer: 131723 byte(s) leaked in 2059 allocation(s).
```

So to prevent multiple threads from operating the same element at the same time, add the lock only to erase and ensure fully create connection before emplace.

Fixes: https://tracker.ceph.com/issues/66266
Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
(cherry picked from commit 958ecba9e903b9c8de3dccb6822e23fd632c3eb7)

11 months agoRevert "reef: rgw/amqp: lock erase and create connection before emplace" 59016/head
Rongqi Sun [Mon, 5 Aug 2024 08:03:40 +0000 (16:03 +0800)]
Revert "reef: rgw/amqp: lock erase and create connection before emplace"

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
11 months agoMerge pull request #58715 from Svelar/wip-67072-reef
Rongqi Sun [Mon, 5 Aug 2024 07:44:28 +0000 (15:44 +0800)]
Merge pull request #58715 from Svelar/wip-67072-reef

reef: rgw/amqp: lock erase and create connection before emplace

11 months agoMerge pull request #59008 from zdover23/wip-doc-2024-08-04-backport-59006-to-reef
Anthony D'Atri [Sun, 4 Aug 2024 13:33:35 +0000 (09:33 -0400)]
Merge pull request #59008 from zdover23/wip-doc-2024-08-04-backport-59006-to-reef

reef: doc/glossary: add "ceph-ansible"