]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Adam Emerson [Thu, 23 Jan 2025 21:15:52 +0000 (16:15 -0500)]
build: Link TBB into io_exerciser if present
libstdc++ uses TBB to implement the execution library if it is
available. If it's not present, we get a serial backend.
Currently, we aren't getting link errors in most cases because the
reference is optimized out, but when compiling with `-O0`, we hit a
missing symbol.
If we use more of the execution library, we'll reference TBB in ways
that don't optimize out.
As such, test if TBB is available. If so, link against it.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2017
for more information.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Anthony D'Atri [Thu, 3 Apr 2025 15:56:17 +0000 (11:56 -0400)]
Merge pull request #62597 from soumyakoduri/wip-skoduri-restore-doc
rgw: Updating doc for cloud-restore feature
J. Eric Ivancich [Thu, 3 Apr 2025 14:46:57 +0000 (10:46 -0400)]
Merge pull request #62524 from ivancich/wip-fix-gap-list-tool
rgw: fix bug with rgw-gap-list
Reviewed-by: Jesse Williamson <jfw@ibm.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Thu, 3 Apr 2025 14:44:53 +0000 (10:44 -0400)]
Merge pull request #56499 from adamemerson/wip-rgw-close-datalog-write-hole
rgw: Close datalog write hole
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Adam King [Thu, 3 Apr 2025 14:41:36 +0000 (10:41 -0400)]
Merge pull request #62583 from phlogistonjohn/jjm-refix-setsebool
qa/cephadm/smb: run setsebool with sudo
Reviewed-by: Adam King <adking@redhat.com>
Adam King [Thu, 3 Apr 2025 14:40:27 +0000 (10:40 -0400)]
Merge pull request #62639 from phlogistonjohn/jjm-doc-note-clustering-opt
doc/mgr: add a warning about the smb clustering option & placement
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Sachin Prabhu <sp@spui.uk>
Casey Bodley [Thu, 3 Apr 2025 13:21:47 +0000 (09:21 -0400)]
Merge pull request #62604 from jzhu116-bloomberg/wip-70746
rgw: keep the tails when copying object to itself
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Matan Breizman [Thu, 3 Apr 2025 12:29:16 +0000 (15:29 +0300)]
Merge pull request #62325 from Matan-B/wip-matanb-with-crimson
src: sed -i 's/WITH_SEASTAR/WITH_CRIMSON/'
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Alex Ainscow [Thu, 3 Apr 2025 10:14:08 +0000 (11:14 +0100)]
Merge pull request #61804 from aainscow/erasure_code_chunks
osd: Modify erasure code plugins ready for new EC
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
SrinivasaBharathKanta [Thu, 3 Apr 2025 10:07:27 +0000 (15:37 +0530)]
Merge pull request #62233 from kamoltat/wip-ksirivad-ceph-s-leader-mon
mon: Add leader indicator && stretch mode to ceph -s output
SrinivasaBharathKanta [Thu, 3 Apr 2025 10:04:48 +0000 (15:34 +0530)]
Merge pull request #57806 from dongbula/wip-speed-oc-flush2
osdc/ObjectCacher: avoid io blocking for bufferheads exceed limit
SrinivasaBharathKanta [Thu, 3 Apr 2025 10:03:37 +0000 (15:33 +0530)]
Merge pull request #56612 from Matan-B/wip-matanb-remove-snapset-snaps
osd: cleanup Snapset::snaps
SrinivasaBharathKanta [Thu, 3 Apr 2025 10:01:18 +0000 (15:31 +0530)]
Merge pull request #62205 from leonidc/wip-leonidc-redeploy-fix
nvmeofgw* :do not allow failover for gws during redeploy (fast-reboot)
Alex Ainscow [Thu, 3 Apr 2025 09:21:55 +0000 (10:21 +0100)]
Merge pull request #62223 from aainscow/enable-switch-flag
osd: Add ability to switch EC optimizations on
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>|
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Ilya Dryomov [Thu, 3 Apr 2025 08:43:10 +0000 (10:43 +0200)]
Merge pull request #62641 from tchaikov/cmake-set_property
cmake: Fix warning suppression for googletest build
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Aashish Sharma [Thu, 3 Apr 2025 08:03:07 +0000 (13:33 +0530)]
Merge pull request #62629 from rhcs-dashboard/cluster-mgr-role-fix
mgr/dashboard: add prometheus read permission to cluster_mgr role
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Matan Breizman [Wed, 12 Feb 2025 13:07:09 +0000 (13:07 +0000)]
ceph.spec.in, install-deps: sed -i 's/seastar/crimson/'
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan Breizman [Thu, 3 Apr 2025 07:53:15 +0000 (07:53 +0000)]
src: sed -i 's/WITH_SEASTAR/WITH_CRIMSON/'
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Zac Dover [Thu, 3 Apr 2025 03:47:23 +0000 (13:47 +1000)]
Merge pull request #62643 from zdover23/wip-doc-2025-04-03-cephadm-upgrade
doc/cephadm: s/confg/config/
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Zac Dover [Thu, 3 Apr 2025 03:23:30 +0000 (13:23 +1000)]
doc/cephadm: s/confg/config/
Correct a misspelled command.
Re: https://github.com/ceph/ceph/pull/62367#discussion_r2025832937
Signed-off-by: Zac Dover <zac.dover@proton.me>
Kefu Chai [Thu, 3 Apr 2025 02:03:08 +0000 (10:03 +0800)]
cmake: Fix warning suppression for googletest build
In commit
27e9d563 , we attempted to disable deprecated warnings when building
googletest, but the implementation contained two errors:
1. The `set_property()` call occurred before adding the target directory,
making it impossible to set properties on non-existent objects.
2. The `-Wno-deprecated-declarations` flag was incorrectly passed as an
`APPEND` argument instead of a `PROPERTY` argument.
This caused build failures with libstdc++-12 and newer Clang versions:
```
CMake Error at src/CMakeLists.txt:772 (set_property):
set_property given invalid argument "-Wno-deprecated-declarations".
```
This commit fixes both issues by:
- Moving the `set_property()` call after `add_subdirectory()`
- Correctly passing the warning flag as a `PROPERTY` argument
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Adam King [Wed, 2 Apr 2025 22:56:51 +0000 (18:56 -0400)]
Merge pull request #62592 from adk3798/cephadm-rgw-only-bind-on-networks
mgr/cephadm: add only_bind_port_on_networks support for rgw
Reviewed-by: Kushal Deb <Kushal.Deb@ibm.com>
Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Adam King [Wed, 2 Apr 2025 22:54:06 +0000 (18:54 -0400)]
Merge pull request #62362 from phlogistonjohn/jjm-mgr-smb-tweaks
mgr/smb: additional input and output controls
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Sachin Prabhu <sp@spui.uk>
SrinivasaBharathKanta [Wed, 2 Apr 2025 22:42:52 +0000 (04:12 +0530)]
Merge pull request #61461 from NitzanMordhai/wip-nitzan-ec-clay-profile-config-wrong-d
erasure-code: clay wrong d calculation
Alex Ainscow [Tue, 11 Mar 2025 11:03:06 +0000 (11:03 +0000)]
test: IO sequence exerciser enable ec optimisations
The io sequencer has been written to primarily test the new EC code. This commit
turns that flag on by default. It also provides a flag to disable the new
optimizations, which we expect to drop in the future.
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Alex Ainscow [Tue, 11 Mar 2025 11:00:59 +0000 (11:00 +0000)]
osd: EC Switcher actually switches between two (identical) EC implementations
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Alex Ainscow [Tue, 11 Mar 2025 11:00:01 +0000 (11:00 +0000)]
osd: Create a new interval when the optimization flag gets switch on.
This allows for the old EC code to cleanly shutdown using the on_change
notification. The new code can then start up cleanly.
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Alex Ainscow [Tue, 11 Mar 2025 10:59:13 +0000 (10:59 +0000)]
osd: Add EC_OPTIMIZATIONS flag and add ability to switch it on.
This is the basic command. On its own, this does nothing functional, except set
a flag which can be queried.
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
John Mulligan [Wed, 2 Apr 2025 20:36:29 +0000 (16:36 -0400)]
doc/mgr: add a warning about the smb clustering option & placement
Add a warning to the docs highlighting that `clustering` is an advanced
option and setting it without out also setting a compatible placement
value may lead to unexpected behavior.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Jamie Pryde [Wed, 2 Apr 2025 20:03:57 +0000 (21:03 +0100)]
Merge pull request #61638 from jamiepryde/58052-release-note
PendingReleaseNotes: add note about changing default EC plugin from Jerasure to ISA-L
Pedro Gonzalez Gomez [Wed, 2 Apr 2025 18:59:51 +0000 (20:59 +0200)]
Merge pull request #62543 from rhcs-dashboard/smb-carbonize-tabs
mgr/dashboard: carbonize smb tabs
Reviewed-by: Nizamudeen A <nia@redhat.com>
Pedro Gonzalez Gomez [Wed, 2 Apr 2025 18:58:09 +0000 (20:58 +0200)]
Merge pull request #62614 from rhcs-dashboard/fix-smb-placement
mgr/dashboard: fix smb cluster placement
Reviewed-by: Nizamudeen A <nia@redhat.com>
Radoslaw Zarzynski [Wed, 2 Apr 2025 18:27:35 +0000 (20:27 +0200)]
Merge pull request #62294 from rzarzynski/wip-bypassable-ceph-assert
common, *: make the abort() in ceph_assert() bypassable
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Radoslaw Zarzynski [Wed, 2 Apr 2025 18:16:18 +0000 (20:16 +0200)]
Merge pull request #55696 from bill-scales/main
common/mempool.cc: Improve performance of sharding
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Jose Juan Palacios-Perez <perezjos@uk.ibm.com>
Reviewed-by: John Agombar <agombar@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Adam King [Wed, 2 Apr 2025 17:43:04 +0000 (13:43 -0400)]
Merge pull request #58652 from adk3798/mgr-rgw-create-ec-data-pool
mgr/rgw: add ability for rgw realm bootstrap to create pools
Reviewed-by: Kushal Deb <Kushal.Deb@ibm.com>
Pedro Gonzalez Gomez [Wed, 2 Apr 2025 17:40:34 +0000 (19:40 +0200)]
Merge pull request #62611 from rhcs-dashboard/ec-fixes
mgr/dashboard: add enhancements for pool rulest
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Adam King [Wed, 2 Apr 2025 17:39:01 +0000 (13:39 -0400)]
Merge pull request #60614 from adk3798/host-maintenance-exit-refresh-daemons
mgr/cephadm: trigger host metadata refresh when taking host out of maintenance
Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Jane Zhu [Wed, 2 Apr 2025 15:53:47 +0000 (15:53 +0000)]
rgw: remove keep_tail from RGWObjState
Signed-off-by: Jane Zhu <jzhu116@bloomberg.net>
Pedro Gonzalez Gomez [Thu, 27 Mar 2025 10:46:04 +0000 (11:46 +0100)]
mgr/dashboard: carbonize smb tabs
also removes share tab as was the only one in favour of title and description
Fixes: https://tracker.ceph.com/issues/70695
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Kefu Chai [Wed, 2 Apr 2025 14:04:00 +0000 (22:04 +0800)]
Merge pull request #62622 from tchaikov/cmake-disable-deprecated-warning
cmake: disable deprecated warning when building googletest
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Nizamudeen A [Wed, 2 Apr 2025 12:48:57 +0000 (18:18 +0530)]
mgr/dashboard: add prometheus read permission to cluster_mgr role
Fixes: https://tracker.ceph.com/issues/70768
Signed-off-by: Nizamudeen A <nia@redhat.com>
Pedro Gonzalez Gomez [Tue, 1 Apr 2025 20:43:12 +0000 (22:43 +0200)]
mgr/dashboard: fix smb cluster placement
Fixes: https://tracker.ceph.com/issues/70757
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Pedro Gonzalez Gomez [Tue, 1 Apr 2025 20:04:16 +0000 (22:04 +0200)]
mgr/dashboard: add enhancements for pool rulest
On EC pool:
- Use host count instead of device count for host crush-failure-domain
- Host warning for k+m+1
On replicated:
- Set 'All devices' as default
Fixes: https://tracker.ceph.com/issues/70764
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Adam Kupczyk [Wed, 2 Apr 2025 11:29:59 +0000 (13:29 +0200)]
Merge pull request #62246 from aclamk/wip-aclamk-write-v2-tune-down-unused
os/bluestore/write-v2: Tune down usage of 'unused'
Nizamudeen A [Wed, 2 Apr 2025 10:54:28 +0000 (16:24 +0530)]
Merge pull request #62457 from rhcs-dashboard/nvmeof-upgrade-bug
mgr/dashboard: upgrading nvmeof doesn't update configuration
Alex Ainscow [Wed, 2 Apr 2025 10:25:02 +0000 (11:25 +0100)]
Merge pull request #62609 from aainscow/io_exerciser_restrict
test/common: EC Optimizations: rados io sequencer exerciser extensions
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Jonathan Bailey <jonathan.bailey1@ibm.com>
Kefu Chai [Wed, 2 Apr 2025 10:14:40 +0000 (18:14 +0800)]
Merge pull request #61696 from MaxKellermann/osd_includes
osd: include cleanup
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Pedro Gonzalez Gomez [Wed, 2 Apr 2025 10:10:08 +0000 (12:10 +0200)]
Merge pull request #62542 from rhcs-dashboard/smb-service-section
mgr/dashboard: add separation for service section in smb cluster form
Reviewed-by: Nizamudeen A <nia@redhat.com>
Pedro Gonzalez Gomez [Wed, 2 Apr 2025 10:06:44 +0000 (12:06 +0200)]
Merge pull request #62541 from rhcs-dashboard/fix-scroll
mgr/dashboard: fix domain settings modal scrollable
Reviewed-by: Nizamudeen A <nia@redhat.com>
Jamie Pryde [Tue, 4 Feb 2025 10:22:18 +0000 (10:22 +0000)]
PendingReleaseNotes: add note to change default EC plugin from Jerasure to ISA-L
Signed-off-by: Jamie Pryde <jamiepry@uk.ibm.com>
Aashish Sharma [Wed, 2 Apr 2025 06:25:41 +0000 (11:55 +0530)]
Merge pull request #62047 from rhcs-dashboard/fix-70226-main
monitoring: Fix OSDs panel in host-details grafana dashboard
Reviewed-by: Nizamudeen A <nia@redhat.com>
Nizamudeen A [Wed, 2 Apr 2025 05:38:07 +0000 (11:08 +0530)]
Merge pull request #62598 from rhcs-dashboard/nvmf-subsys-ha-default
mgr/dashboard: enable ha by default on subsystem POST API
Kefu Chai [Wed, 2 Apr 2025 03:24:40 +0000 (11:24 +0800)]
cmake: disable deprecated warning when building googletest
In commit
986f6918 , we updated the googletest submodule to silence a
CMake warning. However, this change broke the build due to a Clang issue
where it warns about deprecated declarations even from system headers
(see https://github.com/llvm/llvm-project/issues/76515). Since we use
`-Werror` in our compile options, these warnings become errors and fail
the build.
This change detects if we're affected by the specific combination of
compiler, standard library, and compile options that triggers this
issue. It then conditionally disables the `-Wdeprecated-declarations`
warning when building googletest to resolve build failures caused by
deprecated functions like `get_temporary_buffer<>` in the standard
library.
The build failure looks like:
```
FAILED: src/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
...
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest-all.cc:38:
In file included from /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:55:
In file included from /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/memory:66:
/usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_tempbuf.h:263:8: error: 'get_temporary_buffer<testing::TestInfo *>' is deprecated [-Werror,-Wdeprecated-declarations]
263 | std::get_temporary_buffer<value_type>(_M_original_len));
| ^
/usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_algo.h:4996:15: note: in instantiation of member function 'std::_Temporary_buffer<__gnu_cxx::__normal_iterator<testing::TestInfo **, std::vector<testing::TestInfo *>>, testing::TestInfo *>::_Temporary_buffer' requested here
4996 | _TmpBuf __buf(__first, (__last - __first + 1) / 2);
| ^
/usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_algo.h:5070:23: note: in instantiation of function template specialization 'std::__stable_sort<__gnu_cxx::__normal_iterator<testing::TestInfo **, std::vector<testing::TestInfo *>>, __gnu_cxx::__ops::_Iter_comp_iter<(lambda at /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:3024:20)>>' requested here
5070 | _GLIBCXX_STD_A::__stable_sort(__first, __last,
| ^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:3023:8: note: in instantiation of function template specializatio
```
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Zac Dover [Wed, 2 Apr 2025 02:51:49 +0000 (12:51 +1000)]
Merge pull request #62617 from anthonyeleven/pushme-pullme
doc/rados/configuration: Correct admonition in ceph-conf.rst
Reviewed-by: Zac Dover <zac.dover@proton.me>
Soumya Koduri [Tue, 1 Apr 2025 09:19:15 +0000 (14:49 +0530)]
doc/rgw: Updating doc for cloud-restore feature
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Anthony D'Atri [Tue, 1 Apr 2025 23:19:18 +0000 (19:19 -0400)]
doc/rados/configuration: Correct admonition in ceph-conf.rst
Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Dan Mick [Tue, 1 Apr 2025 21:50:27 +0000 (14:50 -0700)]
Merge pull request #62615 from zdover23/wip-doc-2025-04-02-pr-62613-followup
doc/dev/release-process: followup on PR#62610
Zac Dover [Tue, 1 Apr 2025 20:44:41 +0000 (06:44 +1000)]
doc/dev/release-process: followup on PR#62610
Make minor usage and markup changes to doc/dev/release-process.rst to
follow up on Dan Mick's contribution in https://github.com/ceph/ceph/pull/62610.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Jane Zhu [Tue, 1 Apr 2025 13:45:36 +0000 (13:45 +0000)]
rgw: keep the tails when copying object to itself
Signed-off-by: Jane Zhu <jzhu116@bloomberg.net>
Dan Mick [Tue, 1 Apr 2025 20:07:02 +0000 (13:07 -0700)]
Merge pull request #62610 from ceph/release-process-container-build
doc/dev/release-process.rst: document new Jenkins job for containers
Dan Mick [Tue, 1 Apr 2025 19:08:45 +0000 (12:08 -0700)]
doc/dev/release-process.rst: document new Jenkins job for containers
The manual instructions for building release containers were complex
and required access to an arm64 host; that was just too much,
so I've created a Jenkins job to build all of the prerelease
artifacts (see https://github.com/ceph/ceph-build/pull/2342).
Change the documentation to reflect that.
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Adam King [Mon, 4 Nov 2024 19:13:02 +0000 (14:13 -0500)]
mgr/cephadm: trigger host metadata refrsh when taking host out of maintenance
If a host was in maintenance mode, we should make sure to check
all of the host information again once it's taken out even if
it hasn't been long enough for the daemon/device/facts etc. cache
to timeout. Some users may make changes to things like the node's
hardware or OS during maintenance mode that we should make sure to
pick up as soon as possible
Signed-off-by: Adam King <adking@redhat.com>
Adam King [Mon, 4 Nov 2024 19:07:01 +0000 (14:07 -0500)]
mgr/cephadm: add func to invalidate all host metadata and kick serve loop
We already had one of these specifically for daemons. This commit
just adds the same but for all types of host metadata. Currently
the intended use is to call this when taking a host out of maintenace
mode as it's not just the daemons that could have been modified
while the host was in maintenance mode.
Signed-off-by: Adam King <adking@redhat.com>
Adam King [Wed, 17 Jul 2024 20:29:02 +0000 (16:29 -0400)]
mgr/rgw: add ability for rgw realm bootstrap to create pools
Specifically by setting the data_pool_attributes field in
the RGW spec. For example
service_type: rgw
service_id: my_realm.my_zone
placement:
count: 2
spec:
data_pool_attributes:
type: ec
k: 6
m: 2
rgw_realm: my_realm
rgw_zone: my_zone
rgw_zonegroup: my_zonegroup
would create the my_zone.rgw.buckets.data pool as an
ec pool with a new ec porfile with k=8 and m=2. Currently
the ec profile fields this spec will make use of
are only "k", "m", "pg_num" and "crush-device-class".
If other attributes are set, or if the pool type is
"replicated" the key value pairs are assumed to
be ones that can be passed to the "ceph osd pool create"
command. The other pools for the rgw zone (e.g. buckets
index pool) are all made as replicated pool with
defaults settings
Signed-off-by: Adam King <adking@redhat.com>
Alex Ainscow [Thu, 27 Mar 2025 11:45:33 +0000 (11:45 +0000)]
test/common: rados io sequencer exerciser extensions
1. Add miscompare message containing object ID.
2. Fix compiler warning due to strangely placed assert.
3. Add barriers following error injects to insure they
are in place before IO.
4. Do not, by default, test EC profiles that are not
known to be good for EC optimisations.
5. Add "allow_unstable_pool_configs" to override above.
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Casey Bodley [Tue, 1 Apr 2025 17:18:22 +0000 (13:18 -0400)]
Merge pull request #62284 from yuvalif/wip-yuval-70086
rgw/logging: use bucket policy for logging
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Samuel Just [Tue, 1 Apr 2025 15:53:33 +0000 (08:53 -0700)]
Merge pull request #62288 from athanatos/sjust/wip-crimson-recovery-69412-replica
crimson: take read lock on replica during final push commit
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Adam Emerson [Wed, 29 Jan 2025 17:13:28 +0000 (12:13 -0500)]
neorados: Suppressions for Boost.asio
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam C. Emerson [Thu, 20 Mar 2025 17:13:30 +0000 (13:13 -0400)]
qa/rgw: Suppress valgrind error from unclean shutdown
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Wed, 19 Mar 2025 02:47:04 +0000 (22:47 -0400)]
rgw: Watch/Notify memory leak fix maybe!
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam Emerson [Tue, 17 Sep 2024 21:23:57 +0000 (17:23 -0400)]
rgw: Add recovery semaphore commands to radosgw-admin
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Fri, 12 Jul 2024 22:05:20 +0000 (18:05 -0400)]
rgw/multisite/datalog: Decrement with grace period
This guards against an excess decrement in the sequence:
RGW_a: Fetch sem_set (see key 'foo')
RGW_b: run renew_entry ('foo' is no longer in `cur_cycle`)
RGW_a: notify (does not see 'foo' in response)
RGW_a: Decrements 'foo'
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Sat, 1 Jun 2024 06:38:23 +0000 (02:38 -0400)]
rgw/multisite/datalog: Don't read the entire sem_set per shard
Process shards piecewise. Send each set of shards in a window to the
other RGWs and have them acknowledge having it or not.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Fri, 31 May 2024 04:45:27 +0000 (00:45 -0400)]
clang14: Clang14 broken on lambda captures of structured bindings
This works fine on GCC11, which is the actual target we use for
builds on Shaman.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Thu, 16 May 2024 02:42:38 +0000 (22:42 -0400)]
rgw/multisite/datalog: Make add_entry a stackful coroutine
Since, outside of testing, it's only called from stackful coroutines,
for now.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Sat, 27 Apr 2024 17:20:12 +0000 (13:20 -0400)]
rgw/multisite/datalog: Test semaphores/recovery
Also tests renew_entry, backend, and list.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam C. Emerson [Tue, 1 Apr 2025 03:10:06 +0000 (23:10 -0400)]
rgw/admin: Don't start background tasks in radosgw-admin
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam Emerson [Wed, 1 May 2024 15:41:55 +0000 (11:41 -0400)]
rgw/multisite/datalog: Orderly shutdown
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Mon, 29 Apr 2024 23:49:16 +0000 (19:49 -0400)]
rgw/multisite/datalog: Parallelize recovery
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Tue, 2 Apr 2024 19:47:29 +0000 (15:47 -0400)]
rgw/multisite/datalog: Semaphores and Recovery
Increment in add_entry, decrement in renew_entry, and recover on
startup.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Tue, 2 Apr 2024 17:52:48 +0000 (13:52 -0400)]
rgw/multisite/datalog: de/serialize BucketShards from/to a string
So we can reconstitute bucket shards from listings during recovery.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Sat, 30 Mar 2024 01:34:36 +0000 (21:34 -0400)]
rgw/multisite/datalog: add_entry() failures are fatal, actually
Except in one particular case.
This is necessary to close the data replication write hole, so that if
we fail to write to the semaphore set, the client will receive an
error.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Mon, 29 Apr 2024 21:39:59 +0000 (17:39 -0400)]
rgw/multisite/datalog: Remove cls_fifo_legacy
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam C. Emerson [Mon, 31 Mar 2025 19:32:41 +0000 (15:32 -0400)]
test/rgw_multi: Fix unbound variable in log message
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam Emerson [Thu, 21 Nov 2024 22:58:21 +0000 (17:58 -0500)]
rgw/multisite/datalog: C++20 Coroutine Refactor
Rewrite all of `RGWDataChangesLog` and supporting classes to use
non-blocking, C++20 coroutines.
Make interfaces for `optional_yield` and `librados::AioCompletion`.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Fri, 28 Apr 2023 20:13:29 +0000 (16:13 -0400)]
rgw/multisite/datalog: Get rid of unneeded set_zero
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Wed, 26 Apr 2023 16:12:52 +0000 (12:12 -0400)]
rgw/multisite/datalog: Take driver, not handle.
Since we're plumbing the driver around and it's where our neorados
handle lives.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Casey Bodley [Sun, 5 Feb 2023 15:10:34 +0000 (10:10 -0500)]
common/async: add spawn_group template for fork-join parallelism
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Adam Emerson [Sat, 11 May 2024 02:27:25 +0000 (22:27 -0400)]
rgw: Add neorados functions to RGWObjVersionTracker
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Thu, 16 Nov 2023 00:47:22 +0000 (19:47 -0500)]
rgw: Add neorados utilities
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Tue, 5 Mar 2024 14:56:19 +0000 (09:56 -0500)]
cls: Add sem_set class
This stores a collection of key-based semaphores, intended to serve as
a backend to the project to close the datalog write-hole.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam Emerson [Thu, 21 Nov 2024 20:46:10 +0000 (15:46 -0500)]
gcc11: Rewrite some chunks of FIFO
Revert this commit when we are at last free of gcc11.
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam C. Emerson [Thu, 26 Jan 2023 00:25:24 +0000 (19:25 -0500)]
neorados/cls: Client for FIFO objclass
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam Emerson [Wed, 20 Nov 2024 01:11:26 +0000 (20:11 -0500)]
gcc11: Temporary change to neorados CLS log
Signed-off-by: Adam Emerson <aemerson@redhat.com>
Adam C. Emerson [Sat, 21 Jan 2023 06:03:48 +0000 (01:03 -0500)]
neorados/cls: Client for log objclass
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Tue, 24 Jan 2023 21:35:23 +0000 (16:35 -0500)]
cls/log: C++ namespaces exist
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Tue, 24 Jan 2023 08:12:21 +0000 (03:12 -0500)]
cls/log: Switch from utime_t to ceph::real_time
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Tue, 24 Jan 2023 06:53:20 +0000 (01:53 -0500)]
cls/log: Add non-default constructors to cls_log_entry
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam C. Emerson [Sat, 21 Jan 2023 04:24:28 +0000 (23:24 -0500)]
cls/log: Switch from std::list to std::vector
We should not be using std::list everywhere, and this is an excellent
time to switch.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Adam Emerson [Tue, 19 Nov 2024 18:45:26 +0000 (13:45 -0500)]
gcc11: Pull out exec from cls version
Signed-off-by: Adam Emerson <aemerson@redhat.com>