]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 months agoMerge pull request #57181 from adk3798/cleanup-iscsi-nvmeof-keyring
Adam King [Fri, 10 May 2024 16:02:46 +0000 (12:02 -0400)]
Merge pull request #57181 from adk3798/cleanup-iscsi-nvmeof-keyring

mgr/cephadm: cleanup iscsi and nvmeof keyrings upon daemon removal

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
14 months agoMerge pull request #57096 from phlogistonjohn/jjm-smb-output-fmt
Adam King [Fri, 10 May 2024 16:00:54 +0000 (12:00 -0400)]
Merge pull request #57096 from phlogistonjohn/jjm-smb-output-fmt

mgr/smb: disable JSON/YAML key sorting in favor of ordered dicts

Reviewed-by: Adam King <adking@redhat.com>
14 months agoMerge pull request #57089 from adk3798/test-cephadm-timeout-ignore-refresh-failed
Adam King [Fri, 10 May 2024 15:57:23 +0000 (11:57 -0400)]
Merge pull request #57089 from adk3798/test-cephadm-timeout-ignore-refresh-failed

qa/cephadm: ignore CEPHADM_REFRESH_FAILED on timeout test

Reviewed-by: John Mulligan <jmulligan@redhat.com>
14 months agoMerge pull request #57080 from phlogistonjohn/jjm-teuth-pull-img
Adam King [Fri, 10 May 2024 15:56:00 +0000 (11:56 -0400)]
Merge pull request #57080 from phlogistonjohn/jjm-teuth-pull-img

qa/tasks/cephadm: fix pulling containers from private registries

Reviewed-by: Adam King <adking@redhat.com>
14 months agoMerge pull request #57042 from adk3798/host-drain-test-ignore-stray-host
Adam King [Fri, 10 May 2024 15:51:16 +0000 (11:51 -0400)]
Merge pull request #57042 from adk3798/host-drain-test-ignore-stray-host

qa/cephadm: ignore stray warnings on host drain test

Reviewed-by: John Mulligan <jmulligan@redhat.com>
14 months agoMerge pull request #56970 from adk3798/cephadm-ignore-orch-paused
Adam King [Fri, 10 May 2024 15:48:22 +0000 (11:48 -0400)]
Merge pull request #56970 from adk3798/cephadm-ignore-orch-paused

qa/cephadm: ignore CEPHADM_PAUSED on test_orch_cli test

Reviewed-by: Michael Fritch <mfritch@suse.com>
14 months agoMerge pull request #56963 from adk3798/nfs-cluster-ls-json-pretty
Adam King [Fri, 10 May 2024 15:46:08 +0000 (11:46 -0400)]
Merge pull request #56963 from adk3798/nfs-cluster-ls-json-pretty

mgr/pybind/object_format: fix json-pretty being marked invalid

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
14 months agoMerge pull request #56957 from adk3798/no-stray-recent-removal
Adam King [Fri, 10 May 2024 15:42:20 +0000 (11:42 -0400)]
Merge pull request #56957 from adk3798/no-stray-recent-removal

 mgr/cephadm: don't mark daemons created/removed in the last minute as stray

Reviewed-by: John Mulligan <jmulligan@redhat.com>
14 months agoMerge pull request #56823 from adk3798/autotune-testing
Adam King [Fri, 10 May 2024 15:36:59 +0000 (11:36 -0400)]
Merge pull request #56823 from adk3798/autotune-testing

mgr/cephadm: additional debug logging for autotuner

Reviewed-by: John Mulligan <jmulligan@redhat.com>
14 months agoMerge pull request #56802 from clwluvw/rgw-mdsearch
Casey Bodley [Fri, 10 May 2024 12:50:05 +0000 (13:50 +0100)]
Merge pull request #56802 from clwluvw/rgw-mdsearch

rgw: allow disabling mdsearch APIs

Reviewed-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #57372 from ceph/wip-lusov-quiesce-docs
Zac Dover [Fri, 10 May 2024 10:56:10 +0000 (20:56 +1000)]
Merge pull request #57372 from ceph/wip-lusov-quiesce-docs

doc/cephfs: expand the role of quiesce in consistent backups

Reviewed-by: Zac Dover <zac.dover@proton.me>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoMerge pull request #57277 from tchaikov/test_election-free-tracker
Kefu Chai [Fri, 10 May 2024 04:05:53 +0000 (12:05 +0800)]
Merge pull request #57277 from tchaikov/test_election-free-tracker

test/mon/test_election: free ConnectionTracker if blocked

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
14 months agoMerge pull request #56493 from igomon-bloomberg/wip_kafka_sasl_username_password_attrs
J. Eric Ivancich [Thu, 9 May 2024 18:35:34 +0000 (14:35 -0400)]
Merge pull request #56493 from igomon-bloomberg/wip_kafka_sasl_username_password_attrs

rgw/s3-notifications: use user-name/password topic attributes for SASL authentication

Reviewed-by: Yuval Lifshitz <ylifshit@ibm.com>
14 months agoMerge pull request #57075 from cbodley/wip-rgw-ldap-derr
J. Eric Ivancich [Thu, 9 May 2024 18:32:40 +0000 (14:32 -0400)]
Merge pull request #57075 from cbodley/wip-rgw-ldap-derr

rgw: don't print error when ldap isn't configured

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
14 months agoMerge pull request #57083 from ivancich/wip-optimize-bucket-check-mulitparts
J. Eric Ivancich [Thu, 9 May 2024 18:31:18 +0000 (14:31 -0400)]
Merge pull request #57083 from ivancich/wip-optimize-bucket-check-mulitparts

rgw: make incomplete multipart upload part of bucket check efficient

Reviewed-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #57098 from kchheda3/wip-dont-log-passwd
J. Eric Ivancich [Thu, 9 May 2024 18:30:12 +0000 (14:30 -0400)]
Merge pull request #57098 from kchheda3/wip-dont-log-passwd

rgw/notification: Do not log endpoint as it could contain broker user-id & password.

Reviewed-by: Yuval Lifshitz <ylifshit@ibm.com>
14 months agodoc/cephfs: expand the role of quiesce in consistent backups 57372/head
Leonid Usov [Thu, 9 May 2024 12:29:33 +0000 (15:29 +0300)]
doc/cephfs: expand the role of quiesce in consistent backups

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Fixes: https://tracker.ceph.com/issues/65881
14 months agoMerge pull request #57331 from ronen-fr/wip-rf-tier0
Ronen Friedman [Thu, 9 May 2024 14:53:37 +0000 (17:53 +0300)]
Merge pull request #57331 from ronen-fr/wip-rf-tier0

tests/librados: do not use '0' as a string

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoMerge pull request #57155 from mkogan1/wip-rgw-ssl-ec
Casey Bodley [Thu, 9 May 2024 14:52:01 +0000 (15:52 +0100)]
Merge pull request #57155 from mkogan1/wip-rgw-ssl-ec

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

Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #57360 from cbodley/wip-neorados-rm-completion.h
Casey Bodley [Thu, 9 May 2024 12:54:11 +0000 (13:54 +0100)]
Merge pull request #57360 from cbodley/wip-neorados-rm-completion.h

neorados: remove unused symlink to completion.h

Reviewed-by: Adam Emerson <aemerson@redhat.com>
14 months agoMerge pull request #55773 from weirdwiz/main
Avan [Thu, 9 May 2024 07:49:59 +0000 (13:19 +0530)]
Merge pull request #55773 from weirdwiz/main

exporter: handle exceptions gracefully

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
14 months agoMerge pull request #56865 from zmc/cmake-sccache-max-jobs
Kefu Chai [Thu, 9 May 2024 04:32:01 +0000 (12:32 +0800)]
Merge pull request #56865 from zmc/cmake-sccache-max-jobs

cmake: Intelligently set job limits for sccache

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
14 months agoneorados: remove unused symlink to completion.h 57360/head
Casey Bodley [Wed, 8 May 2024 19:54:45 +0000 (15:54 -0400)]
neorados: remove unused symlink to completion.h

this header is unused after ea67f3dee2a3f8fcdcbb0bc0e80e38ec70378f05
replaced uses of ceph::async::Completion with
boost::asio::any_completion_handler

Signed-off-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #55437 from tchaikov/ehh-upstart
Kefu Chai [Wed, 8 May 2024 14:10:05 +0000 (22:10 +0800)]
Merge pull request #55437 from tchaikov/ehh-upstart

debian: do not use upstart to start/stop services

Reviewed-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #56238 from SMIL-Infra/journald-fix
Kefu Chai [Wed, 8 May 2024 13:41:51 +0000 (21:41 +0800)]
Merge pull request #56238 from SMIL-Infra/journald-fix

common/Journald: fix alias and mis-align

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
14 months agoMerge pull request #55560 from tchaikov/systemd-sans-clsuter-name
Kefu Chai [Wed, 8 May 2024 13:40:36 +0000 (21:40 +0800)]
Merge pull request #55560 from tchaikov/systemd-sans-clsuter-name

systemd: do not pass --cluster option

Reviewed-by: John Mulligan <jmulligan@redhat.com>
14 months agoexporter: handle exceptions gracefully 55773/head
Divyansh Kamboj [Tue, 30 Apr 2024 07:44:10 +0000 (13:14 +0530)]
exporter: handle exceptions gracefully

ceph exporter crahes, and fails to handle exceptions in
dump_asok_metrics(). add try and catch blocks to handle the exceptions gracefully.

Signed-off-by: Divyansh Kamboj <dkamboj@redhat.com>
14 months agoMerge pull request #55007 from shminjs/fix-wrong-osd-op-flag-name
Rongqi Sun [Wed, 8 May 2024 07:27:23 +0000 (00:27 -0700)]
Merge pull request #55007 from shminjs/fix-wrong-osd-op-flag-name

osd/osd_types: fix spelling of osd_op_flag_name

14 months agoMerge PR #56810 into main
Patrick Donnelly [Wed, 8 May 2024 02:51:04 +0000 (22:51 -0400)]
Merge PR #56810 into main

* refs/pull/56810/head:
common/StackStringStream: update pointer to newly allocated memory in overflow()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
14 months agoMerge pull request #57330 from ronen-fr/wip-rf-iam-rgw0
Casey Bodley [Wed, 8 May 2024 00:29:42 +0000 (01:29 +0100)]
Merge pull request #57330 from ronen-fr/wip-rf-iam-rgw0

tests/rgw: fix ints returned where a string is expected

Reviewed-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #57258 from cbodley/wip-qa-rgw-d4n-tests
Casey Bodley [Tue, 7 May 2024 21:10:16 +0000 (22:10 +0100)]
Merge pull request #57258 from cbodley/wip-qa-rgw-d4n-tests

qa/rgw/d4n: run ceph_test_d4n_ tests

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
14 months agoMerge PR #57192 into main
Patrick Donnelly [Tue, 7 May 2024 19:49:03 +0000 (15:49 -0400)]
Merge PR #57192 into main

* refs/pull/57192/head:
PendingReleaseNotes: add note on the client incompatibility health warning and feature bit
doc/cephfs: add client_mds_auth_caps client feature bit
doc/cephfs: add missing client feature bits
doc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error
qa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH
mds: raise health warning if client lacks feature for root_squash
mon/MDSMonitor: add note about missing metadata inclusion
mds: check relevant caps for fs include root_squash
mds: refactor out fs_name match in MDSAuthCaps
qa: test for root_squash with multiple caps
qa: pass kwargs to mount from remount
qa: simplify update_attrs and only update relevant keys
client: allow overriding client features

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
14 months agoMerge pull request #57298 from zdover23/wip-doc-2024-05-07-mgr-dashboard-overview
Zac Dover [Tue, 7 May 2024 18:05:09 +0000 (04:05 +1000)]
Merge pull request #57298 from zdover23/wip-doc-2024-05-07-mgr-dashboard-overview

doc/mgr: edit "Overview" in dashboard.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
14 months agoMerge PR #57166 into main
Patrick Donnelly [Tue, 7 May 2024 14:34:19 +0000 (10:34 -0400)]
Merge PR #57166 into main

* refs/pull/57166/head:
qa: make quiesce ops dump world readable
qa: use specific ops/cache dump file names

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57165 into main
Patrick Donnelly [Tue, 7 May 2024 14:33:44 +0000 (10:33 -0400)]
Merge PR #57165 into main

* refs/pull/57165/head:
qa: ignore variation of PG_DEGRADED health warning

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
14 months agoMerge pull request #57226 from ronen-fr/wip-rf-unused-cache
Ronen Friedman [Tue, 7 May 2024 14:30:22 +0000 (17:30 +0300)]
Merge pull request #57226 from ronen-fr/wip-rf-unused-cache

common: mark assert-only variables as unused

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agotests/librados: do not use '0' as a string 57331/head
Ronen Friedman [Tue, 7 May 2024 13:20:18 +0000 (16:20 +0300)]
tests/librados: do not use '0' as a string

not even as a default string parameter to a
function.

C++23 does not allow int-to-string conversions,

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
14 months agotests/rgw: fix ints returned where a string is expected 57330/head
Ronen Friedman [Tue, 7 May 2024 13:07:21 +0000 (16:07 +0300)]
tests/rgw: fix ints returned where a string is expected

Modifying test_rgw_iam_policy.cc to avoid C++23
compilation errors. C++23 does not allow int-to-string
conversions, and '0' cannot be returned where a string
is expected.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
14 months agoPendingReleaseNotes: add note on the client incompatibility health warning and featur... 57192/head
Patrick Donnelly [Fri, 3 May 2024 00:45:43 +0000 (20:45 -0400)]
PendingReleaseNotes: add note on the client incompatibility health warning and feature bit

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agodoc/cephfs: add client_mds_auth_caps client feature bit
Patrick Donnelly [Fri, 3 May 2024 00:46:17 +0000 (20:46 -0400)]
doc/cephfs: add client_mds_auth_caps client feature bit

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agodoc/cephfs: add missing client feature bits
Patrick Donnelly [Fri, 3 May 2024 00:38:19 +0000 (20:38 -0400)]
doc/cephfs: add missing client feature bits

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agodoc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error
Patrick Donnelly [Thu, 2 May 2024 23:33:50 +0000 (19:33 -0400)]
doc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoqa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH
Patrick Donnelly [Fri, 3 May 2024 00:52:29 +0000 (20:52 -0400)]
qa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agomds: raise health warning if client lacks feature for root_squash
Patrick Donnelly [Fri, 3 May 2024 00:50:37 +0000 (20:50 -0400)]
mds: raise health warning if client lacks feature for root_squash

Rather than evict all clients lacking this feature bit, raise a health error
that pushes the administrator to address it. This avoids the surprise of having
all affected clients suddenly evicted in the cluster.

Fixes: https://tracker.ceph.com/issues/65733
Fixes: 954ed30
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agomon/MDSMonitor: add note about missing metadata inclusion
Patrick Donnelly [Fri, 3 May 2024 00:49:22 +0000 (20:49 -0400)]
mon/MDSMonitor: add note about missing metadata inclusion

There is a "client_count" metadata on the health warning that apparently was
intended to be used for aggregating warnings but never was. Add a TODO item for
that.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agomds: check relevant caps for fs include root_squash
Patrick Donnelly [Wed, 1 May 2024 01:41:14 +0000 (21:41 -0400)]
mds: check relevant caps for fs include root_squash

When denying client reconnects because the MDS caps include root_squash and the
client features do not include CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK, ensure those
caps are only for the file system the MDS is joined to.

Fixes: https://tracker.ceph.com/issues/65733
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agomds: refactor out fs_name match in MDSAuthCaps
Patrick Donnelly [Thu, 2 May 2024 12:55:36 +0000 (08:55 -0400)]
mds: refactor out fs_name match in MDSAuthCaps

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoqa: test for root_squash with multiple caps
Patrick Donnelly [Thu, 2 May 2024 01:08:57 +0000 (21:08 -0400)]
qa: test for root_squash with multiple caps

Where the client has root_squash for one cap but not for another. The fs
without root_squash should not necessarily reject the client.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoqa: pass kwargs to mount from remount
Patrick Donnelly [Thu, 2 May 2024 02:06:54 +0000 (22:06 -0400)]
qa: pass kwargs to mount from remount

So we can pass mntargs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoqa: simplify update_attrs and only update relevant keys
Patrick Donnelly [Thu, 2 May 2024 02:04:57 +0000 (22:04 -0400)]
qa: simplify update_attrs and only update relevant keys

So we can just pass the caller's kwargs to update_attrs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agodoc/mgr: edit "Overview" in dashboard.rst 57298/head
Zac Dover [Mon, 6 May 2024 15:16:51 +0000 (01:16 +1000)]
doc/mgr: edit "Overview" in dashboard.rst

Edit and update the "Overview" section in doc/mgr/dashboard.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
14 months agoMerge pull request #56943 from AliMasarweh/wip-alimasa-bn-test
Ali Masarwa [Tue, 7 May 2024 08:52:57 +0000 (11:52 +0300)]
Merge pull request #56943 from AliMasarweh/wip-alimasa-bn-test

RGW: test for exact match if the test is not persistent

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
14 months agoMerge PR #54433 into main
Venky Shankar [Tue, 7 May 2024 07:18:00 +0000 (12:48 +0530)]
Merge PR #54433 into main

* refs/pull/54433/head:
CephContext: acquire _fork_watchers_lock in notify_post_fork()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
14 months agoqa: make quiesce ops dump world readable 57166/head
Patrick Donnelly [Tue, 30 Apr 2024 14:22:48 +0000 (10:22 -0400)]
qa: make quiesce ops dump world readable

Fixes: https://tracker.ceph.com/issues/65701
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoqa: use specific ops/cache dump file names
Patrick Donnelly [Tue, 30 Apr 2024 14:22:23 +0000 (10:22 -0400)]
qa: use specific ops/cache dump file names

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agocmake: Intelligently set job limits for sccache 56865/head
Zack Cerza [Thu, 4 Apr 2024 19:01:05 +0000 (13:01 -0600)]
cmake: Intelligently set job limits for sccache

If we are correctly configured for distributed mode, use the cluster's CPU count
instead of ours. If we are configured for sccache but without distributed mode,
inform the user but continue with normal job limits.

Signed-off-by: Zack Cerza <zack@redhat.com>
14 months agoMerge pull request #56515 from wanglinke521/wlk-dev
Yuri Weinstein [Mon, 6 May 2024 19:20:53 +0000 (12:20 -0700)]
Merge pull request #56515 from wanglinke521/wlk-dev

os/bluestore: fix the problem that _estimate_log_size_N calculates the log size incorrectly

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
14 months agoMerge pull request #56421 from rhcs-dashboard/fix-regex-rgw-sync-metrics
Avan [Mon, 6 May 2024 18:33:58 +0000 (00:03 +0530)]
Merge pull request #56421 from rhcs-dashboard/fix-regex-rgw-sync-metrics

exporter: fix regex for rgw sync metrics

Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
14 months agoclient: allow overriding client features
Patrick Donnelly [Thu, 2 May 2024 00:51:59 +0000 (20:51 -0400)]
client: allow overriding client features

For testing purposes.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoMerge pull request #57257 from cbodley/wip-65746
Casey Bodley [Mon, 6 May 2024 17:18:56 +0000 (18:18 +0100)]
Merge pull request #57257 from cbodley/wip-65746

rgw: fix CompleteMultipart error handling regression

Reviewed-by: Ali Masarwa <amasarwa@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
14 months agoMerge pull request #57256 from yuvalif/wip-yuval-failed-test-hang
Yuval Lifshitz [Mon, 6 May 2024 16:34:53 +0000 (19:34 +0300)]
Merge pull request #57256 from yuvalif/wip-yuval-failed-test-hang

test/rgw/notification: prevent failed http tests from hanging

14 months agoMerge pull request #57212 from idryomov/wip-65624
Ilya Dryomov [Mon, 6 May 2024 15:43:57 +0000 (17:43 +0200)]
Merge pull request #57212 from idryomov/wip-65624

pybind/rbd: expose CLONE_FORMAT and FLATTEN image options

Reviewed-by: Mykola Golub <mgolub@suse.com>
14 months agoMerge pull request #57163 from idryomov/wip-copyup-end-in-test
Ilya Dryomov [Mon, 6 May 2024 15:43:11 +0000 (17:43 +0200)]
Merge pull request #57163 from idryomov/wip-copyup-end-in-test

test/librbd: correct expected_overlap in SnapshotCopyup

Reviewed-by: Mykola Golub <mgolub@suse.com>
14 months agoMerge pull request #57082 from idryomov/wip-65487
Ilya Dryomov [Mon, 6 May 2024 15:41:36 +0000 (17:41 +0200)]
Merge pull request #57082 from idryomov/wip-65487

rbd-mirror: clean up stale pool replayers and callouts better

Reviewed-by: N Balachandran <nibalach@redhat.com>
14 months agoRGW\test: making notification push test end point agnostic 56943/head
Ali Masarwa [Mon, 22 Apr 2024 09:34:40 +0000 (12:34 +0300)]
RGW\test: making notification push test end point agnostic

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
14 months agoqa/workunits/rbd: wait for replaying status in bootstrap tests 57082/head
Ilya Dryomov [Mon, 6 May 2024 06:16:01 +0000 (08:16 +0200)]
qa/workunits/rbd: wait for replaying status in bootstrap tests

wait_for_replay_complete() doesn't wait for image status to get
updated.  This didn't matter previously because these tests are run on
two different pools and nothing else was following.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 months agotest/pybind: drop unnecessary data_pool=None arguments 57212/head
Ilya Dryomov [Wed, 1 May 2024 13:49:54 +0000 (15:49 +0200)]
test/pybind: drop unnecessary data_pool=None arguments

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 months agopybind/rbd: adjust error message in deep_copy()
Ilya Dryomov [Wed, 1 May 2024 13:49:51 +0000 (15:49 +0200)]
pybind/rbd: adjust error message in deep_copy()

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 months agopybind/rbd: expose RBD_IMAGE_OPTION_FLATTEN option
Ilya Dryomov [Wed, 1 May 2024 13:49:47 +0000 (15:49 +0200)]
pybind/rbd: expose RBD_IMAGE_OPTION_FLATTEN option

It takes effect with deep_copy() and migration_prepare().

Fixes: https://tracker.ceph.com/issues/65624
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 months agopybind/rbd: expose RBD_IMAGE_OPTION_CLONE_FORMAT option
Ilya Dryomov [Sun, 28 Apr 2024 17:19:22 +0000 (19:19 +0200)]
pybind/rbd: expose RBD_IMAGE_OPTION_CLONE_FORMAT option

It takes effect with clone(), deep_copy() and migration_prepare().

Fixes: https://tracker.ceph.com/issues/65624
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 months agoMerge pull request #57245 from Matan-B/wip-crimson-only-testing-report
Matan Breizman [Mon, 6 May 2024 07:33:35 +0000 (10:33 +0300)]
Merge pull request #57245 from Matan-B/wip-crimson-only-testing-report

qa/config/crimson_qa_overrides: adjust mgr_stats_period

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
14 months agotest/mon/test_election: free ConnectionTracker if blocked 57277/head
Kefu Chai [Mon, 6 May 2024 05:46:31 +0000 (13:46 +0800)]
test/mon/test_election: free ConnectionTracker if blocked

in this test, if the connection is blocked, the allocated
`ConnectionTracker` is leaked. as pointed out by ASan:

```
Indirect leak of 506880 byte(s) in 10560 object(s) allocated from:
    #0 0x563e9d9ea1ed in operator new(unsigned long) (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_mon_election+0x2021ed) (BuildId: 6a9fb1b76c5d1db8d2bc9957316994f90b45b6c8)
    #1 0x563e9da588a6 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:127:27
    #2 0x563e9da58830 in std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >::allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/allocator.h:185:32
    #3 0x563e9da58830 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:464:20
    #4 0x563e9da58701 in std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_get_node() /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_tree.h:561:16
    #5 0x563e9db6f424 in std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_tree.h:611:23
    #6 0x563e9db6efc0 in std::_Rb_tree_iterator<std::pair<int const, double> > std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, double> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_tree.h:2431:19
    #7 0x563e9db6ecb2 in std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::operator[](int const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_map.h:501:15
    #8 0x563e9db6ca32 in std::enable_if<(!(denc_traits<int, void>::supported)) || (!(denc_traits<double, void>::supported)), void>::type ceph::decode<int, double, std::less<int>, std::allocator<std::pair<int const, double> >, denc_traits<int, void>, denc_traits<double, void> >(std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >&, ceph::buffer::v15_2_0::list::iterator_impl<true>&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/include/encoding.h:1095:12
    #9 0x563e9db6c1d4 in ConnectionReport::decode(ceph::buffer::v15_2_0::list::iterator_impl<true>&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/mon/ConnectionTracker.h:37:5
    #10 0x563e9db6ba3c in decode(ConnectionReport&, ceph::buffer::v15_2_0::list::iterator_impl<true>&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/mon/ConnectionTracker.h:52:1
    #11 0x563e9db5a47e in std::enable_if<(!(denc_traits<int, void>::supported)) || (!(denc_traits<ConnectionReport, void>::supported)), void>::type ceph::decode<int, ConnectionReport, std::less<int>, std::allocator<std::pair<int const, ConnectionReport> >, denc_traits<int, void>, denc_traits<ConnectionReport, void> >(std::map<int, ConnectionReport, std::less<int>, std::allocator<std::pair<int const, ConnectionReport> > >&, ceph::buffer::v15_2_0::list::iterator_impl<true>&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/include/encoding.h:1095:5
    #12 0x563e9db51b69 in ConnectionTracker::decode(ceph::buffer::v15_2_0::list::iterator_impl<true>&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/mon/ConnectionTracker.cc:309:3
    #13 0x563e9da18bac in ConnectionTracker::ConnectionTracker(ceph::buffer::v15_2_0::list const&, ceph::common::CephContext*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/mon/ConnectionTracker.h:180:5
    #14 0x563e9d9ef57f in Election::propose_to(int, int, unsigned int, ceph::buffer::v15_2_0::list&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/mon/test_election.cc:369:15
    #15 0x563e9da22ccb in Owner::propose_to_peers(unsigned int, ceph::buffer::v15_2_0::list&) /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/mon/test_election.cc:145:15
    #16 0x563e9db2da6c in ElectionLogic::start() /home/jenkins-build/build/workspace/ceph-pull-requests/src/mon/ElectionLogic.cc:143:12
    #17 0x563e9db2f128 in ElectionLogic::end_election_period() /home/jenkins-build/build/workspace/ceph-pull-requests/src/mon/ElectionLogic.cc:180:7
    #18 0x563e9da29a5d in Owner::election_timeout() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/mon/test_election.cc:242:11
    #19 0x563e9da19936 in Owner::notify_timestep() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/mon/test_election.cc:282:2
    #20 0x563e9d9f1181 in Election::run_timesteps(int) /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/mon/test_election.cc:417:17
```

in this change, we add an parameter to the handler function, so
it can free the allocated `ConnectionTracker` instance. this
should address the leakage reported by ASan.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
14 months agocommon/StackStringStream: update pointer to newly allocated memory in overflow() 56810/head
Rongqi Sun [Wed, 10 Apr 2024 09:14:31 +0000 (09:14 +0000)]
common/StackStringStream: update pointer to newly allocated memory in overflow()

When sanitizer is enabled, unittest_log fails as following

```
[ RUN      ] Log.StderrPipeBig
=================================================================
==3302372==ERROR: AddressSanitizer: heap-use-after-free on address 0xffff96e01d00 at pc 0xaaaadd3db754 bp 0xffffd9ebffa0 sp 0xffffd9ebf790
READ of size 4096 at 0xffff96e01d00 thread T0
    #0 0xaaaadd3db750 in __asan_memmove (/root/ceph-19.0.0/build/bin/unittest_log+0x3fb750) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409)
    #1 0xffffafc23734 in char const* boost::container::dtl::memmove_n_source<char const*, char*>(char const*, unsigned long, char*) /root/ceph-19.0.0/build/boost/include/boost/container/detail/copy_move_algo.hpp:261:10
    #2 0xffffafc23734 in boost::container::dtl::enable_if_memtransfer_copy_constructible<char const*, char*, char const*>::type boost::container::uninitialized_copy_alloc_n_source<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*, char*>(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char const*, unsigned long, char*) /root/ceph-19.0.0/build/boost/include/boost/container/detail/copy_move_algo.hpp:600:11
    #3 0xffffafc23734 in void boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>::uninitialized_copy_n_and_update<char*>(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/detail/advanced_insert_int.hpp:85:22
    #4 0xffffafc23734 in void boost::container::expand_forward_and_insert_alloc<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char*, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*> >(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char*, char*, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>) /root/ceph-19.0.0/build/boost/include/boost/container/detail/copy_move_algo.hpp:1469:23
    #5 0xffffafc23734 in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_expand_forward<boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*> >(char*, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>, boost::move_detail::integral_constant<bool, false>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:3058:7
    #6 0xffffafc23734 in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range<boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*> >(char* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2890:16
    #7 0xffffafc23734 in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::insert<char const*>(boost::container::vec_iterator<char*, true>, char const*, char const*, boost::move_detail::disable_if_or<void, boost::move_detail::is_convertible<char const*, unsigned long>, boost::container::dtl::is_input_iterator<char const*, has_iterator_category<char const*>::value>, boost::move_detail::bool_<false>, boost::move_detail::bool_<false> >::type*) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2088:20
    #8 0xffffafc23734 in ceph::logging::ConcreteEntry::ConcreteEntry(ceph::logging::Entry const&) /root/ceph-19.0.0/src/log/Entry.h:84:9
    #9 0xffffafc21a88 in decltype(new ((void*)(0))ceph::logging::ConcreteEntry(std::declval<ceph::logging::Entry>())) std::construct_at<ceph::logging::ConcreteEntry, ceph::logging::Entry>(ceph::logging::ConcreteEntry*, ceph::logging::Entry&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:97:39
    #10 0xffffafc21198 in void std::allocator_traits<std::allocator<ceph::logging::ConcreteEntry> >::construct<ceph::logging::ConcreteEntry, ceph::logging::Entry>(std::allocator<ceph::logging::ConcreteEntry>&, ceph::logging::ConcreteEntry*, ceph::logging::Entry&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:518:4
    #11 0xffffafc16464 in ceph::logging::ConcreteEntry& std::vector<ceph::logging::ConcreteEntry, std::allocator<ceph::logging::ConcreteEntry> >::emplace_back<ceph::logging::Entry>(ceph::logging::Entry&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:115:6
    #12 0xffffafc0dcbc in ceph::logging::Log::submit_entry(ceph::logging::Entry&&) /root/ceph-19.0.0/src/log/Log.cc:265:9
    #13 0xaaaadd41a404 in Log_StderrPipeBig_Test::TestBody() /root/ceph-19.0.0/src/log/test.cc:280:9
    #14 0xaaaade0b4338 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10
    #15 0xaaaade061244 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14
    #16 0xaaaade012680 in testing::Test::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2680:5
    #17 0xaaaade0145c4 in testing::TestInfo::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2858:11
    #18 0xaaaade015bc4 in testing::TestSuite::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:3012:28
    #19 0xaaaade031988 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5723:44
    #20 0xaaaade0be24c in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10
    #21 0xaaaade0687dc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14
    #22 0xaaaade030e00 in testing::UnitTest::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5306:10
    #23 0xaaaadd425c48 in RUN_ALL_TESTS() /root/ceph-19.0.0/src/googletest/googletest/include/gtest/gtest.h:2486:46
    #24 0xaaaadd4207a0 in main /root/ceph-19.0.0/src/log/test.cc:503:10
    #25 0xffffac3473f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #26 0xffffac3474c8 in __libc_start_main csu/../csu/libc-start.c:392:3
    #27 0xaaaadd364d6c in _start (/root/ceph-19.0.0/build/bin/unittest_log+0x384d6c) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409)

0xffff96e01d00 is located 0 bytes inside of 6553-byte region [0xffff96e01d00,0xffff96e03699)
freed by thread T0 here:
    #0 0xaaaadd4136f0 in operator delete(void*) (/root/ceph-19.0.0/build/bin/unittest_log+0x4336f0) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409)
    #1 0xaaaadd434968 in boost::container::new_allocator<char>::deallocate(char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/new_allocator.hpp:171:7
    #2 0xaaaadd434934 in boost::container::allocator_traits<boost::container::new_allocator<char> >::deallocate(boost::container::new_allocator<char>&, char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:308:9
    #3 0xaaaadd434934 in boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>::deallocate(char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/small_vector.hpp:255:10
    #4 0xaaaadd43911c in boost::container::allocator_traits<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void> >::deallocate(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:308:9
    #5 0xaaaadd43911c in boost::container::vector_alloc_holder<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, unsigned long, boost::move_detail::integral_constant<unsigned int, 1u> >::deallocate(char* const&, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:487:7
    #6 0xaaaadd43911c in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_new_allocation<boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&> >(char*, unsigned long, char*, unsigned long, boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:3080:25
    #7 0xaaaadd438aec in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_no_capacity<boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&> >(char*, unsigned long, boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&>, boost::move_detail::integral_constant<unsigned int, 1u>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2830:13
    #8 0xaaaadd4328bc in char& boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::emplace_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1888:24
    #9 0xaaaadd4328bc in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_push_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2746:13
    #10 0xaaaadd4328bc in boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::push_back(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1996:4
    #11 0xaaaadd4328bc in StackStringBuf<4096ul>::overflow(int) /root/ceph-19.0.0/src/common/StackStringStream.h:79:11
    #12 0xffffac6d3dac in std::ostream::put(char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x133dac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #13 0xffffac6d4aac in std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x134aac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #14 0xaaaadd41a3c8 in Log_StderrPipeBig_Test::TestBody() /root/ceph-19.0.0/src/log/test.cc:278:9
    #15 0xaaaade0b4338 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10
    #16 0xaaaade061244 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14
    #17 0xaaaade012680 in testing::Test::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2680:5
    #18 0xaaaade0145c4 in testing::TestInfo::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2858:11
    #19 0xaaaade015bc4 in testing::TestSuite::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:3012:28
    #20 0xaaaade031988 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5723:44
    #21 0xaaaade0be24c in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10
    #22 0xaaaade0687dc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14
    #23 0xaaaade030e00 in testing::UnitTest::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5306:10
    #24 0xaaaadd425c48 in RUN_ALL_TESTS() /root/ceph-19.0.0/src/googletest/googletest/include/gtest/gtest.h:2486:46
    #25 0xaaaadd4207a0 in main /root/ceph-19.0.0/src/log/test.cc:503:10
    #26 0xffffac3473f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #27 0xffffac3474c8 in __libc_start_main csu/../csu/libc-start.c:392:3
    #28 0xaaaadd364d6c in _start (/root/ceph-19.0.0/build/bin/unittest_log+0x384d6c) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409)

previously allocated by thread T0 here:
    #0 0xaaaadd412e88 in operator new(unsigned long) (/root/ceph-19.0.0/build/bin/unittest_log+0x432e88) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409)
    #1 0xaaaadd433ec0 in boost::container::new_allocator<char>::allocate(unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/new_allocator.hpp:160:30
    #2 0xaaaadd438a68 in boost::container::allocator_traits<boost::container::new_allocator<char> >::priv_allocate(boost::move_detail::integral_constant<bool, false>, boost::container::new_allocator<char>&, unsigned long, void const*) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:395:16
    #3 0xaaaadd438a68 in boost::container::allocator_traits<boost::container::new_allocator<char> >::allocate(boost::container::new_allocator<char>&, unsigned long, void const*) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:318:14
    #4 0xaaaadd438a68 in boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>::allocate(unsigned long, void const*) /root/ceph-19.0.0/build/boost/include/boost/container/small_vector.hpp:248:14
    #5 0xaaaadd438a68 in boost::container::allocator_traits<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void> >::allocate(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:302:16
    #6 0xaaaadd438a68 in boost::container::vector_alloc_holder<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, unsigned long, boost::move_detail::integral_constant<unsigned int, 1u> >::allocate(unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:482:14
    #7 0xaaaadd438a68 in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_no_capacity<boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&> >(char*, unsigned long, boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&>, boost::move_detail::integral_constant<unsigned int, 1u>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2826:73
    #8 0xaaaadd4328bc in char& boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::emplace_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1888:24
    #9 0xaaaadd4328bc in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_push_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2746:13
    #10 0xaaaadd4328bc in boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::push_back(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1996:4
    #11 0xaaaadd4328bc in StackStringBuf<4096ul>::overflow(int) /root/ceph-19.0.0/src/common/StackStringStream.h:79:11
    #12 0xffffac6d3dac in std::ostream::put(char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x133dac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #13 0xffffac6d4aac in std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x134aac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02)
    #14 0xaaaadd41a3c8 in Log_StderrPipeBig_Test::TestBody() /root/ceph-19.0.0/src/log/test.cc:278:9
    #15 0xaaaade0b4338 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10
    #16 0xaaaade061244 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14
    #17 0xaaaade012680 in testing::Test::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2680:5
    #18 0xaaaade0145c4 in testing::TestInfo::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2858:11
    #19 0xaaaade015bc4 in testing::TestSuite::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:3012:28
    #20 0xaaaade031988 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5723:44
    #21 0xaaaade0be24c in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10
    #22 0xaaaade0687dc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14
    #23 0xaaaade030e00 in testing::UnitTest::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5306:10
    #24 0xaaaadd425c48 in RUN_ALL_TESTS() /root/ceph-19.0.0/src/googletest/googletest/include/gtest/gtest.h:2486:46
    #25 0xaaaadd4207a0 in main /root/ceph-19.0.0/src/log/test.cc:503:10
    #26 0xffffac3473f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #27 0xffffac3474c8 in __libc_start_main csu/../csu/libc-start.c:392:3
    #28 0xaaaadd364d6c in _start (/root/ceph-19.0.0/build/bin/unittest_log+0x384d6c) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409)

SUMMARY: AddressSanitizer: heap-use-after-free (/root/ceph-19.0.0/build/bin/unittest_log+0x3fb750) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) in __asan_memmove
Shadow bytes around the buggy address:
  0x200ff2dc0350: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200ff2dc0360: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200ff2dc0370: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200ff2dc0380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200ff2dc0390: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x200ff2dc03a0:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x200ff2dc03b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x200ff2dc03c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x200ff2dc03d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x200ff2dc03e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x200ff2dc03f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==3302372==ABORTING
```

vec.push_back(str) will allocate memory and release the old one once
there is insufficient memory which causing the old one to be invalid. So
streambuf's data pointer and insertion position should be updated to
newly allocated memory's address in vec.

Fixes: https://tracker.ceph.com/issues/65805
Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
14 months agoMerge pull request #57273 from zdover23/wip-doc-2024-05-06-mgr-dashboard
Anthony D'Atri [Sun, 5 May 2024 19:49:20 +0000 (15:49 -0400)]
Merge pull request #57273 from zdover23/wip-doc-2024-05-06-mgr-dashboard

doc/mgr: edit "Resolve IP address to hostname before redirect"

14 months agodoc/mgr: edit "Resolve IP address to hostname before redirect" 57273/head
Zac Dover [Sun, 5 May 2024 19:12:55 +0000 (05:12 +1000)]
doc/mgr: edit "Resolve IP address to hostname before redirect"

Edit the section "Resolve IP address to hostname before redirect" in
doc/mgr/dashboard.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
14 months agorbd-mirror: remove callout when destroying pool replayer
Ilya Dryomov [Wed, 24 Apr 2024 10:45:27 +0000 (12:45 +0200)]
rbd-mirror: remove callout when destroying pool replayer

If a pool replayer is removed in an error state (e.g. after failing to
connect to the remote cluster), its callout should be removed as well.
Otherwise, the error would persist causing "daemon health: ERROR"
status to be reported even after a new pool replayer is created and
started successfully.

Fixes: https://tracker.ceph.com/issues/65487
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 months agoMerge pull request #57261 from tchaikov/test_bluefs-fix-asan
Kefu Chai [Sun, 5 May 2024 10:07:24 +0000 (18:07 +0800)]
Merge pull request #57261 from tchaikov/test_bluefs-fix-asan

test/objectstore/test_bluefs: fix heap-use-after-free

Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
14 months agoMerge pull request #57056 from rzarzynski/wip-crimson-coherent-log-and-at_version
Matan Breizman [Sun, 5 May 2024 08:11:29 +0000 (11:11 +0300)]
Merge pull request #57056 from rzarzynski/wip-crimson-coherent-log-and-at_version

 crimson/osd: make osd_op_params::at_version coherent with last log entry

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #55380 from Thingee/foundation-mem-202401
Zac Dover [Sun, 5 May 2024 05:23:21 +0000 (15:23 +1000)]
Merge pull request #55380 from Thingee/foundation-mem-202401

doc/foundation: Updating members for Jan 2024

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
14 months agotest/objectstore/test_bluefs: fix heap-use-after-free 57261/head
Kefu Chai [Sat, 4 May 2024 03:50:54 +0000 (11:50 +0800)]
test/objectstore/test_bluefs: fix heap-use-after-free

this change was created in the same spirit of b8c30a79.

in BlueFS.test_shared_alloc and BlueFS.test_shared_alloc_sparse, we
keep the return value of `fs.get_perf_counters()`, and dereference it
after umounting the fs, but the `PerfCounters*` pointer returned from
`fs.get_perf_counters()` is destroyed in `BlueFS::_shutdown_logger()`
which is in turn called by `BlueFS::umount()`. so ASan points this out:

```
==548153==ERROR: AddressSanitizer: heap-use-after-free on address 0x6110000336c0 at pc 0x7fc810326654 bp 0x7ffd869be8f0 sp 0x7ffd869be8e8
READ of size 8 at 0x6110000336c0 thread T0
    #0 0x7fc810326653 in ceph::common::PerfCounters::get(int) const /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/perf_counters.cc:246:8
    #1 0x564e7a5397a5 in BlueFS_test_shared_alloc_sparse_Test::TestBody() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1265:3
    #2 0x564e7a644006 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10
    #3 0x564e7a5fdbc2 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14
    #4 0x564e7a5ae7ec in testing::Test::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2680:5
    #5 0x564e7a5b0822 in testing::TestInfo::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2858:11
    #6 0x564e7a5b1e5b in testing::TestSuite::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:3012:28
    #7 0x564e7a5cf2e8 in testing::internal::UnitTestImpl::RunAllTests() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5723:44
    #8 0x564e7a64c8b6 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10
    #9 0x564e7a604662 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14
    #10 0x564e7a5ce672 in testing::UnitTest::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5306:10
    #11 0x564e7a55a410 in RUN_ALL_TESTS() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:2486:46
    #12 0x564e7a551295 in main /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1609:10
    #13 0x7fc80d775d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #14 0x7fc80d775e3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #15 0x564e7a4296a4 in _start (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_bluefs+0x2856a4) (BuildId: fd4e4e0b1c2f9a3b0c1a7051d8ed68b3576e3277)

0x6110000336c0 is located 0 bytes inside of 208-byte region [0x6110000336c0,0x611000033790)
freed by thread T0 here:
    #0 0x564e7a4e7b1d in operator delete(void*) (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_bluefs+0x343b1d) (BuildId: fd4e4e0b1c2f9a3b0c1a7051d8ed68b3576e3277)
    #1 0x564e7a686ce3 in BlueFS::_shutdown_logger() /home/jenkins-build/build/workspace/ceph-pull-requests/src/os/bluestore/BlueFS.cc:462:3
    #2 0x564e7a6a9b55 in BlueFS::umount(bool) /home/jenkins-build/build/workspace/ceph-pull-requests/src/os/bluestore/BlueFS.cc:1076:3
    #3 0x564e7a539767 in BlueFS_test_shared_alloc_sparse_Test::TestBody() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1262:6
    #4 0x564e7a644006 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10
    #5 0x564e7a5fdbc2 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14
    #6 0x564e7a5ae7ec in testing::Test::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2680:5
    #7 0x564e7a5b0822 in testing::TestInfo::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2858:11
    #8 0x564e7a5b1e5b in testing::TestSuite::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:3012:28
    #9 0x564e7a5cf2e8 in testing::internal::UnitTestImpl::RunAllTests() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5723:44
    #10 0x564e7a64c8b6 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10
    #11 0x564e7a604662 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14
    #12 0x564e7a5ce672 in testing::UnitTest::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5306:10
    #13 0x564e7a55a410 in RUN_ALL_TESTS() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:2486:46
    #14 0x564e7a551295 in main /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1609:10
    #15 0x7fc80d775d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
```

in this change, instead of keeping `logger` across the `umount()` and
`mount()` calls, we get another instance of `logger`, query it for
the perf counter that we are interested, and compare the value
to see if it is unchanged.

this should address the ASan warning above.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
14 months agoMerge pull request #56978 from Svelar/asan_rgw_lua
Kefu Chai [Sat, 4 May 2024 03:34:50 +0000 (11:34 +0800)]
Merge pull request #56978 from Svelar/asan_rgw_lua

rgw/rgw_lua_utils: free std::string

Reviewed-by: Yuval Lifshitz <ylifshit@ibm.com>
14 months agorgw: move publish_complete() back to RGWCompleteMultipart::execute() 57257/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>
14 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>
14 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>
14 months agodoc/foundation: Updating members for Jan 2024 55380/head
Mike Perez [Tue, 30 Jan 2024 20:10:22 +0000 (12:10 -0800)]
doc/foundation: Updating members for Jan 2024

Signed-off-by: Mike Perez <thingee@gmail.com>
14 months agoqa/rgw/d4n: run ceph_test_d4n_ tests 57258/head
Casey Bodley [Fri, 3 May 2024 16:30:50 +0000 (12:30 -0400)]
qa/rgw/d4n: run ceph_test_d4n_ tests

Signed-off-by: Casey Bodley <cbodley@redhat.com>
14 months agoMerge pull request #56846 from rishabh-d-dave/test-fs-auth
Rishabh Dave [Fri, 3 May 2024 13:42:58 +0000 (19:12 +0530)]
Merge pull request #56846 from rishabh-d-dave/test-fs-auth

qa/cephfs: fix and improve test_multifs_single_path_rootsquash

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
14 months agoMerge pull request #56924 from markhpc/wip-ectransaction-truncate-fix
Yuri Weinstein [Fri, 3 May 2024 13:42:18 +0000 (06:42 -0700)]
Merge pull request #56924 from markhpc/wip-ectransaction-truncate-fix

osd/ECTransaction: Remove incorrect asserts in generate_transactions

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57252 from zdover23/wip-doc-2024-05-03-rados-tshooting-tshooting-pg
Anthony D'Atri [Fri, 3 May 2024 13:41:59 +0000 (09:41 -0400)]
Merge pull request #57252 from zdover23/wip-doc-2024-05-03-rados-tshooting-tshooting-pg

doc/rados: PR#57022 unfinished business

14 months agoMerge pull request #56586 from tchaikov/wip-erasure-code-new
Yuri Weinstein [Fri, 3 May 2024 13:40:09 +0000 (06:40 -0700)]
Merge pull request #56586 from tchaikov/wip-erasure-code-new

erasure-code: use new/delete to alloc/free coefficients array

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #49619 from amathuria/wip-amat-fix-encode-payload
Yuri Weinstein [Fri, 3 May 2024 13:39:20 +0000 (06:39 -0700)]
Merge pull request #49619 from amathuria/wip-amat-fix-encode-payload

msg/async: Encode message once features are set

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
14 months agoMerge pull request #49438 from cfsnyder/wip-58274-bluestore-collection-list-bounds
Yuri Weinstein [Fri, 3 May 2024 13:38:22 +0000 (06:38 -0700)]
Merge pull request #49438 from cfsnyder/wip-58274-bluestore-collection-list-bounds

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

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
14 months agotest/rgw/notification: prevent failed http tests from hanging 57256/head
Yuval Lifshitz [Fri, 3 May 2024 12:04:45 +0000 (12:04 +0000)]
test/rgw/notification: prevent failed http tests from hanging

this is a regressions from: 673adcbdbd01e64c8b76c3176e062571fb8710ac

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
14 months agoMerge pull request #57232 from rhcs-dashboard/fix-65760-main
Aashish Sharma [Fri, 3 May 2024 11:04:52 +0000 (16:34 +0530)]
Merge pull request #57232 from rhcs-dashboard/fix-65760-main

mgr/dashboard: fix cluster filter typo in multi-cluster-overview grafana dashboard

Reviewed-by: Nizamudeen A <nia@redhat.com>
14 months agoMerge pull request #57235 from connorfawcett/ec-bench-update
Connor Fawcett [Fri, 3 May 2024 09:33:38 +0000 (10:33 +0100)]
Merge pull request #57235 from connorfawcett/ec-bench-update

qa/workunits/erasure-code: add bench data tables and graph support for additional jerasure techniques

14 months agoMerge pull request #56732 from mchangir/mgr-snap_schedule-restore-yearly-spec-from...
Rishabh Dave [Fri, 3 May 2024 08:35:50 +0000 (14:05 +0530)]
Merge pull request #56732 from mchangir/mgr-snap_schedule-restore-yearly-spec-from-Y-to-y

mgr/snap_schedule: restore yearly spec to lowercase y

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
14 months agoqa/cephfs: fix test_multifs_single_path_rootsquash 56846/head
Rishabh Dave [Thu, 11 Apr 2024 18:12:18 +0000 (23:42 +0530)]
qa/cephfs: fix test_multifs_single_path_rootsquash

test_multifs_single_path_rootsquash was never run with vstart_runner.py
or with teuthology and is therefore full of bugs. Fix it to make sure it
runs fine.

Introduced-by: 1fda8ed2d4a9
Fixes: https://tracker.ceph.com/issues/65246
Signed-off-by: Rishabh Dave <ridave@redhat.com>
14 months agoqa/cephfs: run test_multifs_single_path_rootsquash for kclient too
Rishabh Dave [Thu, 11 Apr 2024 16:39:45 +0000 (22:09 +0530)]
qa/cephfs: run test_multifs_single_path_rootsquash for kclient too

Root squash is valid for kclient too, Kotresh ran test recently fo it
against main branch. Therefore it is safe to remove.
https://github.com/ceph/ceph/pull/56846#discussion_r1587507868

Signed-off-by: Rishabh Dave <ridave@redhat.com>
14 months agoMerge pull request #56065 from rishabh-d-dave/mds-counters
Rishabh Dave [Fri, 3 May 2024 07:56:49 +0000 (13:26 +0530)]
Merge pull request #56065 from rishabh-d-dave/mds-counters

mds: don't add counters in warning for standby-replay MDS

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
14 months agoMerge pull request #56066 from rishabh-d-dave/mds-fail-confirm
Rishabh Dave [Fri, 3 May 2024 07:43:34 +0000 (13:13 +0530)]
Merge pull request #56066 from rishabh-d-dave/mds-fail-confirm

mon,cephfs: require confirmation flag to bring down unhealthy MDS

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>