]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 months agoosd/scrub: modify ScrubStore contents retrieval 59942/head
Ronen Friedman [Sat, 5 Oct 2024 12:33:49 +0000 (07:33 -0500)]
osd/scrub: modify ScrubStore contents retrieval

A separate commit added a simple test to verify the new
store implementation (creating both shallow & deep errors),
scrubbing (step 1), deep scrubbing (step 2), then shallow
scrubbing again (step 3). The test verifies that
the results after step 2 include all shallow errors data (*),
and that the results after step 3 include all deep errors
data.

The test highlighted the need to correctly partition and
retrieve the "shards inconsistencies" and the "selected
shard" data, which was not fully implemented in the
previous commit. Thus, this commit adds the following:

- add_object_error() no longer filters out data saved during
  deep scrubbing; it also filters less of the shallow scrubs
  "shards inconsistencies" data;

- merge_encoded_error_wrappers() now merges the "shards
  inconsistencies" data correctly, handling the multiple
  scenarios possible.

(*) note the special case of not being able to read the
   object's version during deep scrubbing (due to a read
   error). In this case - the data collected during the
   shallow scrub will not be reported.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoqa/standalone/scrub: test new ScrubStore implementation
Ronen Friedman [Mon, 7 Oct 2024 06:49:18 +0000 (01:49 -0500)]
qa/standalone/scrub: test new ScrubStore implementation

The ScrubStore is now comprised of two separate data
structures, one for shallow errors and one for deep.

A new test is added to verify the main objective of that
design change: shallow scrubs should not overwrite deep
scrub data.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoosd/scrub: separate shallow vs deep errors storage
Ronen Friedman [Tue, 24 Sep 2024 04:09:51 +0000 (23:09 -0500)]
osd/scrub: separate shallow vs deep errors storage

The ScrubStore now holds two ScrubStore::at_level_t objects,
one for the shallow errors and one for the deep errors.

The shallow errors DB is recreated at the start of every scrub,
while the deep errors DB is only recreated at the start of a
deep scrub.

When queried by the operator for known scrub errors, the
ScrubStore will return the union of the errors from both
DBs.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agocommon/scrub,osd/scrub: minor cleanups to ScrubStore
Ronen Friedman [Mon, 23 Sep 2024 13:51:22 +0000 (08:51 -0500)]
common/scrub,osd/scrub: minor cleanups to ScrubStore

Including:
- introducing 'no out param' encode() for the inconsistent wrappers;
- renaming the ambiguous 'empty()' to 'is_empty()';
- removing unused code;
- a few other minor cleanups.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agocommon: extend MapCacher API
Ronen Friedman [Mon, 23 Sep 2024 10:25:05 +0000 (05:25 -0500)]
common: extend MapCacher API

to include 'no out' version of get_next()

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoosd/scrub: add dout() capability to the ScrubStore
Ronen Friedman [Mon, 23 Sep 2024 10:15:57 +0000 (05:15 -0500)]
osd/scrub: add dout() capability to the ScrubStore

now that the ScrubSTore object is directly created by the
scrubber, (and has a lifetime that does not extend beyond
the scrubber object), we can add the same dout()
mechanism used by the other scrubber sub-objects.

Note: that mechanism will be changed shortly, so that the
sub-objects would use one prefix() creator supplied by
the Scrubber object.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoosd/scrub: directly create or reinit the ScrubStore
Ronen Friedman [Mon, 23 Sep 2024 08:58:59 +0000 (03:58 -0500)]
osd/scrub: directly create or reinit the ScrubStore

The ScrubStore is now directly created or reinitialized by the
Scrubber. Note that the store object is not identical to the
errors DB: the errors DB is an entity in the OSD store (a
collection of OMap entries in a uniquely-named object(s)),
while the ScrubSTore object is a cacher and accessor for
that entity. That one can be recreated or disposed of at
will.

We now do not recreate the ScrubStore object for every scrub.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoosd/scrub: introduce ScrubStore::at_level_t
Ronen Friedman [Mon, 23 Sep 2024 06:59:30 +0000 (01:59 -0500)]
osd/scrub: introduce ScrubStore::at_level_t

to hold the caching and backend details related to the representation
of scrub-detected errors as OMap entries of a uniquely-named object.

In a followup commit - the ScrubStore is modified to hold two of
these objects, one for the shallow errors and one for the deep errors.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoMerge PR #60011 into main
Patrick Donnelly [Thu, 10 Oct 2024 12:32:09 +0000 (08:32 -0400)]
Merge PR #60011 into main

* refs/pull/60011/head:
qa: do not fail cephfs QA tests for slow bluestore ops

Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
9 months agoMerge pull request #59987 from kotreshhr/licephfs-aio-nfsganesha
Venky Shankar [Thu, 10 Oct 2024 12:11:49 +0000 (17:41 +0530)]
Merge pull request #59987 from kotreshhr/licephfs-aio-nfsganesha

client: Fix libcephfs aio metadata corruption.

Reviewed-by: Venky Shankar <vshankar@redhat.com>
9 months agoMerge pull request #60161 from NitzanMordhai/wip-nitzan-crimson-perf-suites-adding...
Matan Breizman [Thu, 10 Oct 2024 10:46:05 +0000 (13:46 +0300)]
Merge pull request #60161 from NitzanMordhai/wip-nitzan-crimson-perf-suites-adding-ssh-auth

qa/suites/crimson-rados/perf: add ssh keys

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
9 months agoMerge pull request #59692 from cyx1231st/wip-seastore-improve-log
Matan Breizman [Thu, 10 Oct 2024 08:34:22 +0000 (11:34 +0300)]
Merge pull request #59692 from cyx1231st/wip-seastore-improve-log

crimson/os/seastore: refine seastore and transaction_manager logs, cleanups

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
9 months agoMerge pull request #60079 from yuvalif/wip-yuval-gcc-14-test-posix
Yuval Lifshitz [Thu, 10 Oct 2024 07:48:24 +0000 (10:48 +0300)]
Merge pull request #60079 from yuvalif/wip-yuval-gcc-14-test-posix

test/rgw/posix: missing std include with GCC 14

9 months agoMerge pull request #60168 from yuvalif/wip-yuval-68336
Yuval Lifshitz [Thu, 10 Oct 2024 07:47:10 +0000 (10:47 +0300)]
Merge pull request #60168 from yuvalif/wip-yuval-68336

test/rgw/lua: use stats polling instead of sleep

9 months agoMerge pull request #60101 from rhcs-dashboard/fix-68376-main
afreen23 [Thu, 10 Oct 2024 06:32:32 +0000 (12:02 +0530)]
Merge pull request #60101 from rhcs-dashboard/fix-68376-main

mgr/dashboard: fix gateways section error:”404 - Not Found RGW Daemon not found: None”

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agoMerge pull request #60050 from rhcs-dashboard/non-default-realm-sync-status
afreen23 [Thu, 10 Oct 2024 06:31:14 +0000 (12:01 +0530)]
Merge pull request #60050 from rhcs-dashboard/non-default-realm-sync-status

mgr/dashboard: show non default realm sync status in rgw overview page

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agoMerge pull request #60211 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequenc...
Casey Bodley [Wed, 9 Oct 2024 19:49:57 +0000 (15:49 -0400)]
Merge pull request #60211 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequence_lock_fix

common/io_exerciser: Modify is_locked_by_me call in ceph_test_rados_io_sequence

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoMerge PR #60210 into main
Patrick Donnelly [Wed, 9 Oct 2024 14:06:27 +0000 (10:06 -0400)]
Merge PR #60210 into main

* refs/pull/60210/head:
doc: update 'header get' output in cephfs-journal-tool.rst

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
9 months agoMerge PR #60204 into main
Patrick Donnelly [Wed, 9 Oct 2024 13:25:35 +0000 (09:25 -0400)]
Merge PR #60204 into main

* refs/pull/60204/head:
doc: fix email

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zac Dover <zac.dover@gmail.com>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
9 months agoMerge PR #60012 into main
Patrick Donnelly [Wed, 9 Oct 2024 12:33:13 +0000 (08:33 -0400)]
Merge PR #60012 into main

* refs/pull/60012/head:
qa: ignore pg availability/degraded warnings

Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
9 months agocommon/io_exerciser: Modify is_locked_by_me call in ceph_test_rados_io_sequence 60211/head
JonBailey1993 [Wed, 9 Oct 2024 10:28:42 +0000 (11:28 +0100)]
common/io_exerciser: Modify is_locked_by_me call in ceph_test_rados_io_sequence

is_locked_by_me() is a function of ceph::mutex which is only used in debug builds. By using the ceph_mutex_is_locked_by_me macro, we can neatly make sure we only run this function in debug mode, allowing compilation to no longer be affected when running in release mode.

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
9 months agodoc: update 'header get' output in cephfs-journal-tool.rst 60210/head
Jos Collin [Wed, 9 Oct 2024 10:16:00 +0000 (15:46 +0530)]
doc: update 'header get' output in cephfs-journal-tool.rst

Signed-off-by: Jos Collin <jcollin@redhat.com>
9 months agoMerge pull request #60186 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequenc...
Jon Bailey [Wed, 9 Oct 2024 08:09:02 +0000 (09:09 +0100)]
Merge pull request #60186 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequence_add_version

common/io_exerciser: Add version argument to callbacks in ceph_radios_io_sequence

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
9 months agoMerge pull request #60150 from rhcs-dashboard/add-gwgroups-to-missing-endpoints
afreen23 [Wed, 9 Oct 2024 07:53:36 +0000 (13:23 +0530)]
Merge pull request #60150 from rhcs-dashboard/add-gwgroups-to-missing-endpoints

mgr/dashboard: add gw_groups to all nvmeof endpoints

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agodoc: fix email 60204/head
Ernesto Puerta [Wed, 9 Oct 2024 06:12:42 +0000 (08:12 +0200)]
doc: fix email

Signed-off-by: Ernesto Puerta <37327689+epuertat@users.noreply.github.com>
9 months agoMerge PR #60032 into main
Patrick Donnelly [Wed, 9 Oct 2024 00:56:28 +0000 (20:56 -0400)]
Merge PR #60032 into main

* refs/pull/60032/head:
mds: do not dump empty bufptr

Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
9 months agoMerge PR #60037 into main
Patrick Donnelly [Wed, 9 Oct 2024 00:55:38 +0000 (20:55 -0400)]
Merge PR #60037 into main

* refs/pull/60037/head:
test/common: add death test for double !recursive lock
common/test: do not test exception raised from recursive lock
test/common: fix invalid vim mode
common,osdc: remove obsolete ceph::mutex_debugging
common: assert debug mutex lock is not held if !recursive

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
9 months agoqa: do not fail cephfs QA tests for slow bluestore ops 60011/head
Patrick Donnelly [Fri, 27 Sep 2024 00:39:40 +0000 (20:39 -0400)]
qa: do not fail cephfs QA tests for slow bluestore ops

Fixes: https://tracker.ceph.com/issues/68283
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
9 months agoMerge pull request #60163 from zdover23/wip-doc-2024-10-07-man-mount-ceph
Zac Dover [Tue, 8 Oct 2024 17:45:50 +0000 (03:45 +1000)]
Merge pull request #60163 from zdover23/wip-doc-2024-10-07-man-mount-ceph

doc/man: supplant "wsync" with "nowsync" as the default

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Patrick Donnelly <pdonnelly@redhat.com>
9 months agocommon/io_exerciser: Add version argument to callbacks in ceph_radios_io_sequence 60186/head
JonBailey1993 [Tue, 8 Oct 2024 08:43:10 +0000 (09:43 +0100)]
common/io_exerciser: Add version argument to callbacks in ceph_radios_io_sequence

Add new version that was missing from ceph_test_rados_io_sequence callbacks due to interface changes

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
9 months agocrimson/os/seastore/transaction_manager: refine logs 59692/head
Yingxin Cheng [Tue, 10 Sep 2024 03:55:05 +0000 (11:55 +0800)]
crimson/os/seastore/transaction_manager: refine logs

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agocrimson/os/seastore/transaction_manager: misc cleanups
Yingxin Cheng [Tue, 10 Sep 2024 03:52:56 +0000 (11:52 +0800)]
crimson/os/seastore/transaction_manager: misc cleanups

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agocrimson/os/seastore: workaround log linkage issue under clang14
Yingxin Cheng [Sun, 29 Sep 2024 05:47:17 +0000 (13:47 +0800)]
crimson/os/seastore: workaround log linkage issue under clang14

The logs printing lambda-captured variables cannot be linked correctly
with SeaStore::Shard::repeat_with_onode() under clang14.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agocrimson/os/seastore: refine logs of seastore.h/cc
Yingxin Cheng [Sun, 29 Sep 2024 03:47:46 +0000 (11:47 +0800)]
crimson/os/seastore: refine logs of seastore.h/cc

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agocrimson/os/seastore: adjust op names
Yingxin Cheng [Sun, 29 Sep 2024 03:14:14 +0000 (11:14 +0800)]
crimson/os/seastore: adjust op names

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agocrimson/os/seastore: convert length logs to the hex format
Yingxin Cheng [Tue, 10 Sep 2024 03:41:15 +0000 (11:41 +0800)]
crimson/os/seastore: convert length logs to the hex format

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agocrimson/os/seastore: misc cleanups
Yingxin Cheng [Fri, 6 Sep 2024 08:54:22 +0000 (16:54 +0800)]
crimson/os/seastore: misc cleanups

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
9 months agoMerge pull request #60162 from zdover23/wip-doc-2024-10-07-governance-reset
Zac Dover [Mon, 7 Oct 2024 23:55:13 +0000 (09:55 +1000)]
Merge pull request #60162 from zdover23/wip-doc-2024-10-07-governance-reset

doc/governance: revert d7c144c0d7e490bfda9715a0c8462bb67cffc764

Reviewed-by: Patrick Donnelly <pdonnelly@redhat.com>
9 months agoMerge pull request #60109 from idryomov/wip-63184
Ilya Dryomov [Mon, 7 Oct 2024 18:15:54 +0000 (20:15 +0200)]
Merge pull request #60109 from idryomov/wip-63184

librbd/crypto/LoadRequest: clone format for migration source image

Reviewed-by: Sunil Angadi <Sunil.Angadi@ibm.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
9 months agoMerge pull request #57582 from sajibreadd/wip-66059
Md Mahamudur Rahaman Sajib [Mon, 7 Oct 2024 18:07:40 +0000 (20:07 +0200)]
Merge pull request #57582 from sajibreadd/wip-66059

OSD: PG stat is not synchronized between osds after deep-scrub

9 months agotest/rgw/lua: use stats polling instead of sleep 60168/head
Yuval Lifshitz [Mon, 7 Oct 2024 15:34:15 +0000 (15:34 +0000)]
test/rgw/lua: use stats polling instead of sleep

this makes the test more consistent as well as faster

fixes: https://tracker.ceph.com/issues/68335

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
9 months agoMerge pull request #59857 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequence
Jon Bailey [Mon, 7 Oct 2024 14:48:06 +0000 (15:48 +0100)]
Merge pull request #59857 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequence

src/test/osd: create ceph_test_rados_io_sequence testing tool

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
9 months agoMerge pull request #60146 from spuiuk/smb_version
Zac Dover [Mon, 7 Oct 2024 14:34:01 +0000 (00:34 +1000)]
Merge pull request #60146 from spuiuk/smb_version

doc: remove note for smb3 support

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
9 months agodoc/man: supplant "wsync" with "nowsync" as the default 60163/head
Zac Dover [Mon, 7 Oct 2024 13:21:02 +0000 (23:21 +1000)]
doc/man: supplant "wsync" with "nowsync" as the default

Change the default from "wsync" to "nowsync". "nowsync" has been the
default since kernel version 5.16.

This information was reported on
https://pad.ceph.com/p/Report_Documentation_Bugs by Benjamin Mare on 07
Oct 2024.

The commit relevant to this change can be seen here, in Linus's main
branch:
https://github.com/torvalds/linux/commit/f7a67b463fb83a4b9b11ceaa8ec4950b8fb7f902

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
9 months agoMerge pull request #60001 from cbodley/wip-65654-debug
Casey Bodley [Mon, 7 Oct 2024 13:12:05 +0000 (09:12 -0400)]
Merge pull request #60001 from cbodley/wip-65654-debug

qa/rgw: add debug log to help diagnose 'bucket check unlinked' failure

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
9 months agoMerge pull request #60020 from soumyakoduri/wip-skoduri-lc-process
Casey Bodley [Mon, 7 Oct 2024 13:11:36 +0000 (09:11 -0400)]
Merge pull request #60020 from soumyakoduri/wip-skoduri-lc-process

rgw/lc: Fix a bug in LCOpAction_Transition::check()

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
9 months agoMerge pull request #59884 from cbodley/wip-51786
Casey Bodley [Mon, 7 Oct 2024 13:10:41 +0000 (09:10 -0400)]
Merge pull request #59884 from cbodley/wip-51786

cls/user: reset stats only returns marker when truncated

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
9 months agoMerge pull request #59983 from tobias-urdin/rgw-presigned-500
Casey Bodley [Mon, 7 Oct 2024 13:10:03 +0000 (09:10 -0400)]
Merge pull request #59983 from tobias-urdin/rgw-presigned-500

rgw/auth: fix internal server error for presigned urls

Reviewed-by: Casey Bodley <cbodley@redhat.com>
9 months agodoc/governance: revert d7c144c0d7e490bfda9715a0c8462bb67cffc764 60162/head
Zac Dover [Mon, 7 Oct 2024 12:50:44 +0000 (22:50 +1000)]
doc/governance: revert d7c144c0d7e490bfda9715a0c8462bb67cffc764

Revert the commit (manually, by restoring the file by hand to the state
it was in prior to d7c144c) to the state that it was in before I added
the Executive Council Responsibilities document to governance.rst. This
document cannot be edited at will, but must be voted on by the
Leadership Team.

Signed-off-by: Zac Dover <zac.dover@proton.me>
9 months agoqa/suites/crimson-rados/perf: add ssh keys 60161/head
Nitzan Mordechai [Mon, 7 Oct 2024 10:21:58 +0000 (10:21 +0000)]
qa/suites/crimson-rados/perf: add ssh keys

cbt use ssh connection by defualt, without ssh_keys the task
won't generate public key and the cbt task will fail

Fixes: https://tracker.ceph.com/issues/68421
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
9 months agoMerge pull request #60113 from rhcs-dashboard/fix-68384-main
Aashish Sharma [Mon, 7 Oct 2024 12:41:25 +0000 (18:11 +0530)]
Merge pull request #60113 from rhcs-dashboard/fix-68384-main

mgr/dashboard: increase timeout to detect replication user in the secondary cluster

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agoMerge pull request #60114 from rhcs-dashboard/fix-68386-main
Aashish Sharma [Mon, 7 Oct 2024 12:33:21 +0000 (18:03 +0530)]
Merge pull request #60114 from rhcs-dashboard/fix-68386-main

mgr/dashboard: Enable refresh button on Manage Clusters - Clusters List table

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agomgr/dashboard: fix gateways section error:”404 - Not Found RGW Daemon not found:... 60101/head
Aashish Sharma [Thu, 3 Oct 2024 08:28:14 +0000 (13:58 +0530)]
mgr/dashboard: fix gateways section error:”404 - Not Found RGW Daemon not found: None”

A case was missed here where we do have a default realm created but no default_zonegorup, in that case, the existing behavior should prevail and that's not being handled. If a default_realm is created but no default_zonegroup is there, weshould continue getting the keys from daemon_name = next(iter(daemon_keys))

Fixes: https://tracker.ceph.com/issues/68376
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
9 months agomgr/dashboard: show non default realm sync status in rgw overview page 60050/head
Aashish Sharma [Wed, 25 Sep 2024 12:39:32 +0000 (18:09 +0530)]
mgr/dashboard: show non default realm sync status in rgw overview page

Currently, we just show the sync status of the default realm in rgw
overview page. This PR is to show the sync status of non-default realms
as well. Multisite sync status can be viewed for any of the active daemon
which runs in default/non-default realm.

Fixes: https://tracker.ceph.com/issues/68329
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
9 months agocommon: missing std include with GCC 14 60079/head
Yuval Lifshitz [Tue, 1 Oct 2024 15:19:46 +0000 (15:19 +0000)]
common: missing std include with GCC 14

In file included from src/rgw/driver/posix/bucket_cache.h:19,
                 from src/test/rgw/test_posix_bucket_cache.cc:4:
src/common/cohort_lru.h: In member function _void cohort::lru::TreeX<T, TTree, CLT, CEQ, K, LK>::lock()_:
src/common/cohort_lru.h:334:14: error: _for_each_ is not a member of _std_
  334 |         std::for_each(locks.begin(), locks.end(),
      |              ^~~~~~~~
src/common/cohort_lru.h: In member function _void cohort::lru::TreeX<T, TTree, CLT, CEQ, K, LK>::unlock()_:
/home/yuvalif/ceph5/src/common/cohort_lru.h:339:14: error: _for_each_ is not a member of _std_
  339 |         std::for_each(locks.begin(), locks.end(),
      |              ^~~~~~~~

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
9 months agoMerge pull request #58701 from jecluis/wip-makedist-fix
kyr [Mon, 7 Oct 2024 09:49:39 +0000 (11:49 +0200)]
Merge pull request #58701 from jecluis/wip-makedist-fix

make-dist: replace all '-' for '.' for rpm release

9 months agoMerge pull request #60049 from rhcs-dashboard/fix-68307-main
afreen23 [Mon, 7 Oct 2024 07:41:39 +0000 (13:11 +0530)]
Merge pull request #60049 from rhcs-dashboard/fix-68307-main

mgr/dashboard: Do not display restart gateway message on completion of Setup Multisite Replication wizard

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agoMerge PR #58966 into main
Venky Shankar [Mon, 7 Oct 2024 07:18:52 +0000 (12:48 +0530)]
Merge PR #58966 into main

* refs/pull/58966/head:
qa: test 'ceph fs snapshot mirror ls' command
doc: update docs for 'fs snapshot mirror ls' command
cephfs_mirror: ceph fs snapshot mirror ls command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
9 months agoMerge PR #59699 into main
Venky Shankar [Mon, 7 Oct 2024 07:17:15 +0000 (12:47 +0530)]
Merge PR #59699 into main

* refs/pull/59699/head:
mgr/status: Fix 'fs status' json output
qa: Add test for 'fs status' in standby-replay mds setup

Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
9 months agoMerge pull request #56118 from joscollin/wip-B64711-qa-failure_cancel-mirroring-and...
Venky Shankar [Mon, 7 Oct 2024 07:08:40 +0000 (12:38 +0530)]
Merge pull request #56118 from joscollin/wip-B64711-qa-failure_cancel-mirroring-and-readd

cephfs_mirror, qa: fix test failure test_cephfs_mirror_cancel_mirroring_and_readd

Reviewed-by: Venky Shankar <vshankar@redhat.com>
9 months agoMerge pull request #59870 from rhcs-dashboard/ignore-exception-nvmf
Nizamudeen A [Mon, 7 Oct 2024 06:47:15 +0000 (12:17 +0530)]
Merge pull request #59870 from rhcs-dashboard/ignore-exception-nvmf

mgr/dashboard: ignore exceptions raised when no cert/key found

Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
9 months agomgr/dashboard: add gw_groups to all nvmeof endpoints 60150/head
Nizamudeen A [Mon, 7 Oct 2024 06:41:11 +0000 (12:11 +0530)]
mgr/dashboard: add gw_groups to all nvmeof endpoints

This was missed in the previous implementation

Signed-off-by: Nizamudeen A <nia@redhat.com>
9 months agomgr/dashboard: Enable refresh button on Manage Clusters - Clusters List table 60114/head
Aashish Sharma [Fri, 4 Oct 2024 11:32:55 +0000 (17:02 +0530)]
mgr/dashboard: Enable refresh button on Manage Clusters - Clusters List table

Add fetchData() to the clusters list table to refresh the data and
enable refresh button in the table for the same.

Fixes: https://tracker.ceph.com/issues/68386
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
9 months agomgr/dashboard: increase timeout to detect replication user in the secondary cluster 60113/head
Aashish Sharma [Fri, 4 Oct 2024 10:54:02 +0000 (16:24 +0530)]
mgr/dashboard: increase timeout to detect replication user in the secondary cluster

Increase timeout to detect replication user in the secondary cluster in rgw multisite automation wizard. Currently its set to 2 mins, increase it to 5 minutes.
when you import realm token to the secondary cluster, we wait for the replication/system user we created in the primary cluster to be present in the secondary cluster and when we find that user we set the credentials in the secondary cluster using ceph dashboard set-rgw-crdentials . The timeout for this is set to 2 minutes and sometimes it takes more than 2 minutes for the user to be replicated in the secondary cluster

Fixes: https://tracker.ceph.com/issues/68384
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
9 months agodoc: remove note for smb3 support 60146/head
Sachin Prabhu [Sun, 6 Oct 2024 21:37:47 +0000 (22:37 +0100)]
doc: remove note for smb3 support

We support SMB2, SMB2.1 and SMB 3 at the moment. We are not limited to
just SMB3 as noted in the documentation.

Signed-off-by: Sachin Prabhu <sp@spui.uk>
9 months agoMerge pull request #60115 from zdover23/wip-doc-2024-10-04-governance
Zac Dover [Sun, 6 Oct 2024 10:35:53 +0000 (20:35 +1000)]
Merge pull request #60115 from zdover23/wip-doc-2024-10-04-governance

doc/governance: add exec council responsibilites

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
9 months agoMerge pull request #59868 from dmick/wip-container
Dan Mick [Sat, 5 Oct 2024 01:40:04 +0000 (18:40 -0700)]
Merge pull request #59868 from dmick/wip-container

Add Containerfile and build.sh to build it.

9 months agoMerge pull request #60019 from sungjoon-koh/fix-get-part-number
Casey Bodley [Fri, 4 Oct 2024 21:20:16 +0000 (17:20 -0400)]
Merge pull request #60019 from sungjoon-koh/fix-get-part-number

rgw: decrypt multipart get part when encrypted

Reviewed-by: Casey Bodley <cbodley@redhat.com>
9 months agoMerge pull request #59977 from tobias-urdin/rgw-cors-v2-auth
Casey Bodley [Fri, 4 Oct 2024 20:26:31 +0000 (16:26 -0400)]
Merge pull request #59977 from tobias-urdin/rgw-cors-v2-auth

rgw: handle http options CORS with v2 auth

Reviewed-by: Casey Bodley <cbodley@redhat.com>
9 months agoMerge pull request #59770 from cbodley/wip-qa-unpin-tox
Casey Bodley [Fri, 4 Oct 2024 18:04:18 +0000 (14:04 -0400)]
Merge pull request #59770 from cbodley/wip-qa-unpin-tox

qa/tasks/tox: unpin tox version

Reviewed-by: Adam Emerson <aemerson@redhat.com>
9 months agoMerge pull request #60066 from ceph/wip-openssf-main
Ernesto Puerta [Fri, 4 Oct 2024 17:35:00 +0000 (18:35 +0100)]
Merge pull request #60066 from ceph/wip-openssf-main

README: add OpenSSF Best Practices Badge

9 months agoclient: Fix aio zerobyte file read 59987/head
Kotresh HR [Fri, 27 Sep 2024 19:48:23 +0000 (01:18 +0530)]
client: Fix aio zerobyte file read

The following test fails when run with objectcacher
disabled.

TestClient.LlreadvLlwritevZeroBytes Failure - nonblocking.cc

ceph/src/osdc/Striper.cc: 186: FAILED ceph_assert(len > 0)

Traceback:
 ceph version Development (no_version) squid (dev)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x125) [0x7fc0a340aafe]
 2: (ceph::register_assert_context(ceph::common::CephContext*)+0) [0x7fc0a340ad20]
 3: (Striper::file_to_extents(ceph::common::CephContext*, file_layout_t const*, ...)+0x184) [0x562727e13ab4]
 4: (Striper::file_to_extents(ceph::common::CephContext*, char const*, ...)+0x97) [0x562727e145d1]
 5: (Striper::file_to_extents(ceph::common::CephContext*, inodeno_t, ...)+0x75) [0x562727d29520]
 6: (Filer::read_trunc(inodeno_t, file_layout_t const*, snapid_t, ...)+0x61) [0x562727d66ea5]
 7: (Client::C_Read_Sync_NonBlocking::retry()+0x10c) [0x562727cd8a8e]
 8: (Client::_read(Fh*, long, unsigned long, ceph::buffer::v15_2_0::list*, Context*)+0x578) [0x562727d10cb6]
 9: (Client::_preadv_pwritev_locked(Fh*, iovec const*, int, long, bool, ...)+0x3a7) [0x562727d18159]
 10: (Client::ll_preadv_pwritev(Fh*, iovec const*, int, long, bool, ...)+0x179) [0x562727d18b99]
 11: (TestClient_LlreadvLlwritevZeroBytes_Test::TestBody()+0x592) [0x562727ca5352]
 12: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, ...)+0x1b) [0x562727d9dea3]
 13: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, ...)+0x80) [0x562727da2b26]
 14: (testing::Test::Run()+0xb4) [0x562727d927ae]
 15: (testing::TestInfo::Run()+0x104) [0x562727d92988]
 16: (testing::TestSuite::Run()+0xb2) [0x562727d92b34]
 17: (testing::internal::UnitTestImpl::RunAllTests()+0x36b) [0x562727d95303]
 18: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, ...)(), char const*)+0x1b) [0x562727d9e15f]
 19: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, ...)+0x80) [0x562727da3083]
 20: (testing::UnitTest::Run()+0x63) [0x562727d92813]
 21: (RUN_ALL_TESTS()+0x11) [0x562727c828d9]
 22: main()

The patch fixes the same.

Fixes: https://tracker.ceph.com/issues/68309
Signed-off-by: Kotresh HR <khiremat@redhat.com>
9 months agoclient: Fix caps_ref[c]<0 assert
Kotresh HR [Mon, 30 Sep 2024 07:15:04 +0000 (12:45 +0530)]
client: Fix caps_ref[c]<0 assert

When libcephfs aio tests (src/test/client) are run
with objectcacher disabled (ceph_test_client --client_oc=false),
the TestClient.LlreadvLlwritev fails and core dumps. The client
hits the assert 'caps_ref[c]<0'.

This patch fixes the same. There is no need to give out cap_ref
and take it again between multiple read because of short reads.
In some cases, the get_caps used to fail in C_Read_Sync_NonBlocking::finish
causing cap_ref to go negative when put_cap_ref is done at last in
C_Read_Finish::finish_io

Fixes: https://tracker.ceph.com/issues/68308
Signed-off-by: Kotresh HR <khiremat@redhat.com>
9 months agoclient: Fix libcephfs aio metadata corruption.
Kotresh HR [Thu, 26 Sep 2024 05:20:32 +0000 (10:50 +0530)]
client: Fix libcephfs aio metadata corruption.

Problem:
With cephfs nfs-ganesha, there were following
asserts hit while doing write on a file.

1. FAILED ceph_assert((bool)_front == (bool)_size)
2. FAILED ceph_assert(cap_refs[c] > 0)

Cause:
In aio path, the client_lock was not being held
in the internal callback after the io is done where
it's expected to be taken leading to corruption.

Fix:
Take client_lock in the callback

Fixes: https://tracker.ceph.com/issues/68146
Signed-off-by: Kotresh HR <khiremat@redhat.com>
9 months agotest/client: Fix aio nonblocking test
Kotresh HR [Sat, 28 Sep 2024 17:49:30 +0000 (23:19 +0530)]
test/client: Fix aio nonblocking test

The same bufferlist is used without cleaning
for multiple calls. The test 'LlreadvLlwritev'
used to fail because of it. Fixed the same.

Fixes: https://tracker.ceph.com/issues/68146
Signed-off-by: Kotresh HR <khiremat@redhat.com>
9 months agoqa: Add libcephfs client test with objectcacher disabled
Kotresh HR [Sat, 28 Sep 2024 18:04:50 +0000 (23:34 +0530)]
qa: Add libcephfs client test with objectcacher disabled

Fixes: https://tracker.ceph.com/issues/68146
Signed-off-by: Kotresh HR <khiremat@redhat.com>
9 months agoqa: Add data read/write test for nfs-ganesha
Kotresh HR [Thu, 26 Sep 2024 15:53:21 +0000 (21:23 +0530)]
qa: Add data read/write test for nfs-ganesha

Fixes: https://tracker.ceph.com/issues/68146
Signed-off-by: Kotresh HR <khiremat@redhat.com>
9 months agoMerge pull request #60116 from zdover23/wip-doc-2024-10-04-governance-zdover-email
Anthony D'Atri [Fri, 4 Oct 2024 15:11:28 +0000 (11:11 -0400)]
Merge pull request #60116 from zdover23/wip-doc-2024-10-04-governance-zdover-email

doc/governance: add Zac Dover's updated email

9 months agoMerge pull request #59927 from rkachach/fix_issue_mgmt_gw_health_endpoint
Adam King [Fri, 4 Oct 2024 13:57:07 +0000 (09:57 -0400)]
Merge pull request #59927 from rkachach/fix_issue_mgmt_gw_health_endpoint

mgr/cephadm: adding health check endpoint for mgmt-gateway

Reviewed-by: Adam King <adking@redhat.com>
9 months agodoc/governance: add Zac Dover's updated email 60116/head
Zac Dover [Fri, 4 Oct 2024 13:25:30 +0000 (23:25 +1000)]
doc/governance: add Zac Dover's updated email

Update Zac Dover's email address.

Signed-off-by: Zac Dover <zac.dover@proton.me>
9 months agodoc/governance: add exec council responsibilites 60115/head
Zac Dover [Fri, 4 Oct 2024 13:21:32 +0000 (23:21 +1000)]
doc/governance: add exec council responsibilites

Add the Ceph Executive Council's responsibilties to the
doc/governance.rst document. It was decided during the weekly CLT
meeting on 30 Sep 2024 to add this to the ceph/ceph git repository.

Signed-off-by: Zac Dover <zac.dover@proton.me>
9 months agoMerge pull request #59580 from smanjara/rgw-data-sync-redundant-retries
Casey Bodley [Fri, 4 Oct 2024 13:09:58 +0000 (09:09 -0400)]
Merge pull request #59580 from smanjara/rgw-data-sync-redundant-retries

rgw/multisite: avoid redundant error repo entry logging

Reviewed-by: Adam Emerson <aemerson@redhat.com>
9 months agoMerge pull request #60095 from adamemerson/wip-40692
Casey Bodley [Fri, 4 Oct 2024 12:58:12 +0000 (08:58 -0400)]
Merge pull request #60095 from adamemerson/wip-40692

global: Call getnam_r with a 64KiB buffer on the heap

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
9 months agoMerge pull request #60044 from avanthakkar/fix-smb-earmark-split
Adam King [Fri, 4 Oct 2024 12:50:20 +0000 (08:50 -0400)]
Merge pull request #60044 from avanthakkar/fix-smb-earmark-split

mgr/smb: fix condition for smb earmark when cluster_id doesn't match

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
9 months agomgr/dashboard: Donot display restart gateway message on completion of 60049/head
Aashish Sharma [Mon, 30 Sep 2024 05:40:32 +0000 (11:10 +0530)]
mgr/dashboard: Donot display restart gateway message on completion of
Setup Multisite Replication wizard

On completion of multi-site replication wizard, stop showing message to
restart the rgw services

Fixes: https://tracker.ceph.com/issues/68307
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
9 months agotest/common: add death test for double !recursive lock 60037/head
Patrick Donnelly [Wed, 2 Oct 2024 14:48:34 +0000 (10:48 -0400)]
test/common: add death test for double !recursive lock

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
9 months agoMerge pull request #60083 from phlogistonjohn/jjm-issue68322
Adam King [Thu, 3 Oct 2024 20:15:14 +0000 (16:15 -0400)]
Merge pull request #60083 from phlogistonjohn/jjm-issue68322

cephadm: use a shared smb.conf for clustered smb container sets

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Sachin Prabhu <sp@spui.uk>
9 months agoglobal: Call getnam_r with a 64KiB buffer on the heap 60095/head
Adam Emerson [Wed, 2 Oct 2024 18:42:52 +0000 (14:42 -0400)]
global: Call getnam_r with a 64KiB buffer on the heap

Fixes: https://tracker.ceph.com/issues/40692
Signed-off-by: Adam Emerson <aemerson@redhat.com>
9 months agoMerge pull request #59311 from soumyakoduri/wip-skoduri-cloud-restore
Soumya Koduri [Thu, 3 Oct 2024 18:14:11 +0000 (23:44 +0530)]
Merge pull request #59311 from soumyakoduri/wip-skoduri-cloud-restore

rgw/cloudtier: initial MVP of the feature RestoreObject from cloud

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
9 months agomgr/smb: fix condition for smb earmark when cluster_id doesn't match 60044/head
Avan Thakkar [Sun, 29 Sep 2024 14:38:59 +0000 (20:08 +0530)]
mgr/smb: fix condition for smb earmark when cluster_id doesn't match

This commit resolves an issue where accessing `earmark.split('.')[2]` would cause a
"list index out of range" error when the earmark is set to just "smb" without additional scopes.
The fix introduces a parsing function to safely handle earmarks, ensuring proper behavior
even when no cluster ID or additional scopes are present.

Fixes: https://tracker.ceph.com/issues/68342
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
9 months agolibrbd/crypto/LoadRequest: clone format for migration source image 60109/head
Ilya Dryomov [Thu, 3 Oct 2024 15:54:07 +0000 (17:54 +0200)]
librbd/crypto/LoadRequest: clone format for migration source image

Migration source and migration target images naturally have the same
encryption format, but the user shouldn't have to need to specify it
for the image that they can't even immediately see -- migration source
image gets moved to the RBD trash to avoid mistaken usage while
migration is in progress.

Fixes: https://tracker.ceph.com/issues/63184
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
9 months agolibrbd/crypto/LoadRequest: rename m_is_current_format_cloned
Ilya Dryomov [Mon, 16 Sep 2024 09:37:49 +0000 (11:37 +0200)]
librbd/crypto/LoadRequest: rename m_is_current_format_cloned

Formats must also be cloned if the image is under migration, so
rename m_is_current_format_cloned to m_is_current_format_assumed to
avoid potential confusion with clone() being called in two places but
m_is_current_format_cloned being set in only one place.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
9 months agoMerge pull request #59513 from cbodley/wip-isal-ext
Casey Bodley [Thu, 3 Oct 2024 15:31:29 +0000 (11:31 -0400)]
Merge pull request #59513 from cbodley/wip-isal-ext

cmake: use ExternalProjects to build isa-l and isa-l_crypto libraries

Reviewed-by: Jamie Pryde <jamiepry@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Mark Kogan <mkogan@ibm.com>
9 months agoMerge pull request #59479 from YiteGu/optimize-stop-discard-thread-while-close-dev
Igor Fedotov [Thu, 3 Oct 2024 15:27:48 +0000 (18:27 +0300)]
Merge pull request #59479 from YiteGu/optimize-stop-discard-thread-while-close-dev

blk/KernelDevice: using join() to wait thread end is more safe

9 months agocephadm: use a shared smb.conf for clustered smb container sets 60083/head
John Mulligan [Tue, 1 Oct 2024 15:27:44 +0000 (11:27 -0400)]
cephadm: use a shared smb.conf for clustered smb container sets

Use a shared smb.conf when deploying ctdb enabled containers. There was
a problem updating configs on the ctdb enabled clusters and the issue
was that the configwatch sidecar was not using CTDB, rather it had a
"default" copy of smb.conf that enabled only registry config, but not
CTDB. Examining the cluster this problem was found to be general to all
sidecars that are either sambacc based (not starting smbd, winbindd,
etc) and the smbmetrics sidecar.

Fixes: https://tracker.ceph.com/issues/68322
Signed-off-by: John Mulligan <jmulligan@redhat.com>
9 months agoMerge pull request #60022 from ShwetaBhosale1/add-email
Adam King [Thu, 3 Oct 2024 11:56:53 +0000 (07:56 -0400)]
Merge pull request #60022 from ShwetaBhosale1/add-email

mailmap, githubmap, organisationmap: Add Shweta

Reviewed-by: Laura Flores <lflores@ibm.com>
9 months agoMerge pull request #58293 from Suyashd999/fix-uam9
SrinivasaBharathKanta [Thu, 3 Oct 2024 09:45:47 +0000 (15:15 +0530)]
Merge pull request #58293 from Suyashd999/fix-uam9

ceph_osd: false use-after-move on store

9 months agoMerge pull request #60072 from rhcs-dashboard/delete-popover
afreen23 [Thu, 3 Oct 2024 09:30:17 +0000 (15:00 +0530)]
Merge pull request #60072 from rhcs-dashboard/delete-popover

mgr/dashboard: Unable to delete realm via dashboard

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
9 months agoRGW: Cloud Restore cli and its corresponding response for user. 59311/head
shreyanshjain7174 [Mon, 5 Aug 2024 07:44:52 +0000 (02:44 -0500)]
RGW: Cloud Restore cli and its corresponding response for user.

* For first and repititive request 202 Accepted will be corresponding response code.
* For CloudRestored status 200 OK will be corresponding response code.
* For conflicting requests 409 Conflict corresponding response code.

Also Fixed storage class update while listing objects.

Earlier while restoring object temporarily list-objects (s3api) and
radosgw-admin bucket list didn't have updated storage class. With this
fixed it now has the cloudtier storage class.

Signed-off-by: shreyanshjain7174 <ssanchet@redhat.com>
9 months agocloud restore: completing read through
Jiffin Tony Thottan [Fri, 21 Jun 2024 09:12:07 +0000 (14:42 +0530)]
cloud restore: completing read through

What are all supported :

* It allows read-through for cloud-tiered objects via restore_obj_from_cloud
* New tier config options user need to set allow_read_through to true and
  read_through_restore_days more than 1 for this feature to work, also
  objects with retain_head_object will be available for this feature.
* First get request will fail with restoring in progress error, objects
  are downloaded asynchronously.
* The objects restore are temporary.
* Tested `aws s3api get-object`, `aws s3api head-object` and `aws s3 cp`

In addition send timeout errors for first readthrough request

Also addressed lint warning and other cleanup(review comments)

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>