]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 months agodoc/mgr: add a warning about the smb clustering option & placement 62639/head
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>
3 months agoMerge pull request #61638 from jamiepryde/58052-release-note
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

3 months agoMerge pull request #62543 from rhcs-dashboard/smb-carbonize-tabs
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>
3 months agoMerge pull request #62614 from rhcs-dashboard/fix-smb-placement
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>
3 months agoMerge pull request #62294 from rzarzynski/wip-bypassable-ceph-assert
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>
3 months agoMerge pull request #55696 from bill-scales/main
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>
3 months agoMerge pull request #58652 from adk3798/mgr-rgw-create-ec-data-pool
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>
3 months agoMerge pull request #62611 from rhcs-dashboard/ec-fixes
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>
3 months agoMerge pull request #60614 from adk3798/host-maintenance-exit-refresh-daemons
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>
3 months agomgr/dashboard: carbonize smb tabs 62543/head
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>
3 months agoMerge pull request #62622 from tchaikov/cmake-disable-deprecated-warning
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>
3 months agomgr/dashboard: fix smb cluster placement 62614/head
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>
3 months agomgr/dashboard: add enhancements for pool rulest 62611/head
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>
3 months agoMerge pull request #62246 from aclamk/wip-aclamk-write-v2-tune-down-unused
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'

3 months agoMerge pull request #62457 from rhcs-dashboard/nvmeof-upgrade-bug
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

3 months agoMerge pull request #62609 from aainscow/io_exerciser_restrict
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>
3 months agoMerge pull request #61696 from MaxKellermann/osd_includes
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>
3 months agoMerge pull request #62542 from rhcs-dashboard/smb-service-section
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>
3 months agoMerge pull request #62541 from rhcs-dashboard/fix-scroll
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>
3 months agoPendingReleaseNotes: add note to change default EC plugin from Jerasure to ISA-L 61638/head
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>
3 months agoMerge pull request #62047 from rhcs-dashboard/fix-70226-main
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>
3 months agoMerge pull request #62598 from rhcs-dashboard/nvmf-subsys-ha-default
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

3 months agocmake: disable deprecated warning when building googletest 62622/head
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>
3 months agoMerge pull request #62617 from anthonyeleven/pushme-pullme
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>
3 months agodoc/rados/configuration: Correct admonition in ceph-conf.rst 62617/head
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>
3 months agoMerge pull request #62615 from zdover23/wip-doc-2025-04-02-pr-62613-followup
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

3 months agodoc/dev/release-process: followup on PR#62610 62615/head
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>
3 months agoMerge pull request #62610 from ceph/release-process-container-build
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

3 months agodoc/dev/release-process.rst: document new Jenkins job for containers 62610/head
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>
3 months agomgr/cephadm: trigger host metadata refrsh when taking host out of maintenance 60614/head
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>
3 months agomgr/cephadm: add func to invalidate all host metadata and kick serve loop
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>
3 months agomgr/rgw: add ability for rgw realm bootstrap to create pools 58652/head
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>
3 months agotest/common: rados io sequencer exerciser extensions 62609/head
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>
3 months agoMerge pull request #62284 from yuvalif/wip-yuval-70086
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>
3 months agoMerge pull request #62288 from athanatos/sjust/wip-crimson-recovery-69412-replica
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>
3 months agoMerge pull request #60477 from VVoidV/lbr-ETAG-consistent-with-AWS
Casey Bodley [Tue, 1 Apr 2025 14:59:27 +0000 (10:59 -0400)]
Merge pull request #60477 from VVoidV/lbr-ETAG-consistent-with-AWS

<rgw> Ensure the ETag format is consistent with AWS S3 API

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #60611 from Matan-B/wip-matanb-crimson-max-nr
Matan Breizman [Tue, 1 Apr 2025 13:26:48 +0000 (16:26 +0300)]
Merge pull request #60611 from Matan-B/wip-matanb-crimson-max-nr

ceph.spec.in,debian/rules: aio-max-nr for Crimson

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Kefu Chai <kefu.chai@scylladb.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 months agoMerge PR #62483 into main
Venky Shankar [Tue, 1 Apr 2025 13:07:44 +0000 (18:37 +0530)]
Merge PR #62483 into main

* refs/pull/62483/head:
libcephfs_proxy: workaround for delays and hangs in the proxy

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
3 months agoMerge pull request #60786 from er0k/main
Kefu Chai [Tue, 1 Apr 2025 09:07:51 +0000 (17:07 +0800)]
Merge pull request #60786 from er0k/main

mgr/snap_schedule: fix typo in timestamp format exception

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 months agoMerge pull request #62557 from ronen-fr/wip-rf-preemptionpg
Ronen Friedman [Tue, 1 Apr 2025 08:46:10 +0000 (11:46 +0300)]
Merge pull request #62557 from ronen-fr/wip-rf-preemptionpg

osd/scrub: improve PgScrubber testability

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agomgr/dashboard: enable ha by default on subsystem POST API 62598/head
Nizamudeen A [Tue, 1 Apr 2025 08:31:28 +0000 (14:01 +0530)]
mgr/dashboard: enable ha by default on subsystem POST API

Fixes: https://tracker.ceph.com/issues/70745
Signed-off-by: Nizamudeen A <nia@redhat.com>
3 months agodoc/rgw/logging: add documentation for bucket logging policy 62284/head
Yuval Lifshitz [Tue, 1 Apr 2025 08:25:43 +0000 (08:25 +0000)]
doc/rgw/logging: add documentation for bucket logging policy

* updated restriction of the features and differences with
the restrictions documented by AWS.
* document quota handling

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
3 months agoMerge pull request #61362 from rhcs-dashboard/link-rgw-user-with-account
Nizamudeen A [Tue, 1 Apr 2025 06:35:29 +0000 (12:05 +0530)]
Merge pull request #61362 from rhcs-dashboard/link-rgw-user-with-account

mgr/dashboard: Link rgw user with account

3 months agoMerge pull request #62566 from tchaikov/neorados-googletest
Kefu Chai [Tue, 1 Apr 2025 05:59:54 +0000 (13:59 +0800)]
Merge pull request #62566 from tchaikov/neorados-googletest

neorados/test, googletest: adapt to googletest and bump up googletest submodule

Reviewed-by: Adam Emerson <aemerson@redhat.com>
3 months agoMerge pull request #62498 from ronen-fr/wip-rf-with-array
Ronen Friedman [Tue, 1 Apr 2025 04:40:21 +0000 (07:40 +0300)]
Merge pull request #62498 from ronen-fr/wip-rf-with-array

common/Formatter: introduce helpers for formatting container types

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 months agoosd/scrub: decoupling the FSM from the scrubber 62557/head
Ronen Friedman [Fri, 28 Mar 2025 16:16:52 +0000 (11:16 -0500)]
osd/scrub: decoupling the FSM from the scrubber

The scrubber FSM has always been accessing the PgScrubber
object via an abstract interface (ScrubMachineListener).
But the reverse was not true: the PgScrubber owned a unique_ptr
directly to an instance of Scrubber::ScrubMachine.

This PR introduces a new interface, ScrubFsmIf, that is
implemented by the ScrubMachine. This simplifies
unit-testing the PgScrubber, as we can now inject a mock
implementation of the FSM interface.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agosd/scrub: preemption_data_t needs not keep a PG ref
Ronen Friedman [Thu, 27 Mar 2025 16:36:44 +0000 (11:36 -0500)]
sd/scrub: preemption_data_t needs not keep a PG ref

Removing the PG* from PgScrubber::preemption_data_t.
Mainly - to simplify the creation of unit-tests for the
PgScrubber class.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agoMerge pull request #62374 from tchaikov/dmclock-variant
Kefu Chai [Tue, 1 Apr 2025 02:44:20 +0000 (10:44 +0800)]
Merge pull request #62374 from tchaikov/dmclock-variant

dmclock: migrate from boost::variant to std::variant

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #62564 from tchaikov/cmake-fmt
Kefu Chai [Tue, 1 Apr 2025 01:08:56 +0000 (09:08 +0800)]
Merge pull request #62564 from tchaikov/cmake-fmt

cmake: Allow building with fmt <= 11.1.4

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #62565 from tchaikov/cmake-pre-build
Kefu Chai [Tue, 1 Apr 2025 01:08:16 +0000 (09:08 +0800)]
Merge pull request #62565 from tchaikov/cmake-pre-build

cmake: do not pass PRE_BUILD to add_custom_command(OUTPUT)

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62525 from phlogistonjohn/jjm-sidecar-redeploy
Adam King [Mon, 31 Mar 2025 23:35:42 +0000 (19:35 -0400)]
Merge pull request #62525 from phlogistonjohn/jjm-sidecar-redeploy

cephadm: stop sidecar systemd units when restarting main units

Reviewed-by: Adam King <adking@redhat.com>
3 months agoMerge pull request #62501 from Matan-B/wip-matanb-crimson-cephadm-aio-max-nr
Adam King [Mon, 31 Mar 2025 23:34:49 +0000 (19:34 -0400)]
Merge pull request #62501 from Matan-B/wip-matanb-crimson-cephadm-aio-max-nr

cephadm/cephadmlib/daemons/ceph.py: increase aio-max-nr

Reviewed-by: Adam King <adking@redhat.com>
3 months agoMerge pull request #62491 from Kushal-deb/rgw-port-summary
Adam King [Mon, 31 Mar 2025 23:33:32 +0000 (19:33 -0400)]
Merge pull request #62491 from Kushal-deb/rgw-port-summary

mgr/cephadm: 'ceph orch ls' to display all the ports used by RGW service

Reviewed-by: Adam King <adking@redhat.com>
3 months agorgw: add release note for newly-quoted ETag values 60477/head
Casey Bodley [Wed, 26 Mar 2025 16:22:07 +0000 (12:22 -0400)]
rgw: add release note for newly-quoted ETag values

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months ago<rgw> Ensure the ETag format is consistent with AWS S3 API
liubingrun [Thu, 24 Oct 2024 14:23:09 +0000 (10:23 -0400)]
<rgw> Ensure the ETag format is consistent with AWS S3 API

AWS S3 API quotes ETAG everywhere. We still missed a few places.

checked with following cmd.
```
$ rg -i "dump.*\"ETag\"" ceph
./src/rgw/rgw_rest_s3.cc
1863:        s->formatter->dump_format("ETag", "\"%s\"", iter->meta.etag.c_str());
1955:      s->formatter->dump_format("ETag", "\"%s\"", iter->meta.etag.c_str());
2030:        s->formatter->dump_format("ETag", "\"%s\"", iter->meta.etag.c_str());
2099:      s->formatter->dump_format("ETag", "\"%s\"", iter->meta.etag.c_str());
2785:      s->formatter->dump_format("ETag", "\"%s\"", etag.c_str());
3422:    s->formatter->dump_string("ETag", etag);
3725:      s->formatter->dump_format("ETag", "\"%s\"",etag.c_str());
4228:    s->formatter->dump_string("ETag", etag);
4298:      s->formatter->dump_format("ETag", "\"%s\"", part->get_etag().c_str());

./src/rgw/rgw_rest.cc
421:    return dump_header(s, "etag", etag);
423:    return dump_header_quoted(s, "ETag", etag);

./src/rgw/driver/rados/rgw_sync_module_es_rest.cc
347:      s->formatter->dump_format("ETag", "\"%s\"", e.meta.etag.c_str());

./src/rgw/rgw_admin.cc
8612:        handled = dump_string("etag", bl, formatter.get());
```

Signed-off-by: liubingrun <liubr1@chinatelecom.cn>
3 months agoMerge pull request #61684 from jzhu116-bloomberg/wip-69738
Casey Bodley [Mon, 31 Mar 2025 20:23:24 +0000 (16:23 -0400)]
Merge pull request #61684 from jzhu116-bloomberg/wip-69738

rgw: cleanup orphaned bucket entry in <user>.buckets OMAP

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62235 from cbodley/wip-70399
Casey Bodley [Mon, 31 Mar 2025 20:22:55 +0000 (16:22 -0400)]
Merge pull request #62235 from cbodley/wip-70399

cls/rgw: non-versioned listings skip past version suffix

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
3 months agoMerge pull request #62286 from aodinokov/swift-acl-tests-fix
Casey Bodley [Mon, 31 Mar 2025 20:22:08 +0000 (16:22 -0400)]
Merge pull request #62286 from aodinokov/swift-acl-tests-fix

rgw: fixing tempest ObjectTestACLs and ObjectACLsNegativeTest cases

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #61878 from linuxbox2/wip-cksum-badalg
Casey Bodley [Mon, 31 Mar 2025 19:40:46 +0000 (15:40 -0400)]
Merge pull request #61878 from linuxbox2/wip-cksum-badalg

rgw: cksum:  implement support for new CRC64NVME checksum algorithm and related fixes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62440 from phlogistonjohn/jjm-logging-uri-scheme
Adam King [Mon, 31 Mar 2025 19:18:28 +0000 (15:18 -0400)]
Merge pull request #62440 from phlogistonjohn/jjm-logging-uri-scheme

mgr/cephadm: do not log unexpected uri scheme at warning level

Reviewed-by: Adam King <adking@redhat.com>
3 months agoMerge pull request #62431 from rkachach/fix_making_mgmt_gw_oauth2_dep
Adam King [Mon, 31 Mar 2025 19:17:35 +0000 (15:17 -0400)]
Merge pull request #62431 from rkachach/fix_making_mgmt_gw_oauth2_dep

mgr/cephadm: making mgmt-gateway an oauth2-proxy dependency

Reviewed-by: Adam King <adking@redhat.com>
3 months agoMerge pull request #62558 from cbodley/wip-70712
Casey Bodley [Mon, 31 Mar 2025 18:02:24 +0000 (14:02 -0400)]
Merge pull request #62558 from cbodley/wip-70712

qa/rgw: fix ignorelist entry for 'HEALTH_WARN 1 pool(s) full'

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoosd: use with_array_sections() 62498/head
Ronen Friedman [Tue, 25 Mar 2025 14:41:23 +0000 (09:41 -0500)]
osd: use with_array_sections()

... in a couple of functions, as a demonstration of its usage.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agocommon/Formatter: introduce helpers for formatting container types.
Ronen Friedman [Tue, 18 Mar 2025 09:03:39 +0000 (04:03 -0500)]
common/Formatter: introduce helpers for formatting container types.

Specifically:

- with_array_sections() creates a Formmater::ArraySection, then
  formats every element in the container using the provided
  callable.
  Special handling for std::map: the callable is called with
  both the key and the value.

- with_obj_array_section() dumps containers of objects:
  First - an ArraySection is created; then - for each object
  in the container, the object is formatted within an ObjectSection,
  using the provided callable.
  If the container is an std::map, the callable is called with both
  the key and the object itself.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agoMerge pull request #62567 from tchaikov/qa-remove-unused-global
Kefu Chai [Mon, 31 Mar 2025 15:04:18 +0000 (23:04 +0800)]
Merge pull request #62567 from tchaikov/qa-remove-unused-global

cephfs-top, qa: Remove unnecessary global statements in tests

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw:cksum: implement crc64nvme and combined 32- and 64-bit CRCs 61878/head
Matt Benjamin [Fri, 21 Feb 2025 19:43:53 +0000 (14:43 -0500)]
rgw:cksum: implement crc64nvme and combined 32- and 64-bit CRCs

* internally compensate for at-rest byteswapped crc64 representation (e.g., before combine step)
* generalize Cksum crc api for 32bit and 64bit crcs, other cleanup
* prototype abstract cksum::Combiner workflow
* add support for forward and backward handling of composite vs full object checksums
  by marking the composites and the update flag day
* clean up checksum formatting and checksum type reporting
* add unit tests for Combiner interface
* validate and track requested checksum type (i.e., composite or full), plus
  unit test fixture for combinations of full matrix of cksum types
* doh.  GET/HEAD checksums are in headers
* add crcany license to COPYING
* return ChecksumType as header in GET/HEAD

    Found by Casey in review

* avoid fmt of char* null when no checksum header supplied

    A cksum_hdr_t(nullptr, nullptr) results in this case, and is intended,
    but its components obviously can't be presented to std::format unless
    cast to a safe pointer type.

* fail checksum mismatch with BadDigest

    When uploading an S3 object with an invalid checksum, the return code
    should be BadDigest to mirror more closely the AWS S3 implementation.
    See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html

Fixes: https://tracker.ceph.com/issues/70614
    Reported by Alex Wojno <awojno@bloomberg.net>

* fix comparison and display of composite checksums

A string comparision bounds error and a bitmask comparison
    error are fixed.

* fix build on centos9

On gcc(?13?) we can't declare rgw::cksum::FLAG_NONE
    and also rgw::cksum::Cksum::FlAG_NONE.

    SAD!!

* include <variant> invariantly

* fix checksum type return from complete-multipart

    This one is in the XML response

* aieee, don't leak Combiners

   Use unique_ptr to polymorphic type...correctly.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
3 months agoMerge pull request #62572 from anthonyeleven/expand-ec-table
Zac Dover [Sun, 30 Mar 2025 21:41:31 +0000 (07:41 +1000)]
Merge pull request #62572 from anthonyeleven/expand-ec-table

doc/rados/operations: Improve erasure-code.rst

Reviewed-by: Zac Dover <zac.dover@proton.me>
3 months agoMerge pull request #62562 from tchaikov/librbd-atomic
Ilya Dryomov [Sun, 30 Mar 2025 21:27:36 +0000 (23:27 +0200)]
Merge pull request #62562 from tchaikov/librbd-atomic

librbd: replace deprecated atomic_store with std::atomic<shared_ptr>

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 months agoosd/PeeringState: include cleanup 61696/head
Max Kellermann [Sun, 27 Oct 2024 12:59:04 +0000 (13:59 +0100)]
osd/PeeringState: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/PGBackend: include cleanup
Max Kellermann [Sun, 27 Oct 2024 12:51:33 +0000 (13:51 +0100)]
osd/PGBackend: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/ECCommon: include cleanup
Max Kellermann [Sun, 27 Oct 2024 12:49:49 +0000 (13:49 +0100)]
osd/ECCommon: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/OSDMap: include cleanup
Max Kellermann [Fri, 25 Oct 2024 11:14:01 +0000 (13:14 +0200)]
osd/OSDMap: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/osd_types: include cleanup
Max Kellermann [Fri, 4 Oct 2024 13:41:09 +0000 (15:41 +0200)]
osd/osd_types: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/OSDMapMapping: add missing include
Max Kellermann [Wed, 13 Nov 2024 14:06:17 +0000 (15:06 +0100)]
osd/OSDMapMapping: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/PGPeeringEvent: add missing includes
Max Kellermann [Fri, 1 Nov 2024 09:34:59 +0000 (10:34 +0100)]
osd/PGPeeringEvent: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/ECUtil: add missing includes
Max Kellermann [Fri, 1 Nov 2024 09:34:43 +0000 (10:34 +0100)]
osd/ECUtil: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoOSD/osd_internal_types: add missing include
Max Kellermann [Mon, 28 Oct 2024 19:09:00 +0000 (20:09 +0100)]
OSD/osd_internal_types: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/PrimaryLogPG: add missing include
Max Kellermann [Sun, 27 Oct 2024 13:21:45 +0000 (14:21 +0100)]
osd/PrimaryLogPG: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/ReplicatedBackend: add missing includes
Max Kellermann [Sun, 27 Oct 2024 13:20:54 +0000 (14:20 +0100)]
osd/ReplicatedBackend: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/Watch: add missing include
Max Kellermann [Sun, 27 Oct 2024 13:20:02 +0000 (14:20 +0100)]
osd/Watch: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/OSD: add missing includes
Max Kellermann [Sun, 27 Oct 2024 13:15:18 +0000 (14:15 +0100)]
osd/OSD: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/PG: add missing include
Max Kellermann [Sun, 27 Oct 2024 13:14:09 +0000 (14:14 +0100)]
osd/PG: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/ECBackend: include cleanup
Max Kellermann [Sun, 27 Oct 2024 13:13:53 +0000 (14:13 +0100)]
osd/ECBackend: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/scheduler: add missing includes
Max Kellermann [Sun, 27 Oct 2024 12:57:52 +0000 (13:57 +0100)]
osd/scheduler: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/PGStateUtils: add missing includes
Max Kellermann [Sun, 27 Oct 2024 12:55:00 +0000 (13:55 +0100)]
osd/PGStateUtils: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/SnapMapper: add missing includes
Max Kellermann [Sun, 27 Oct 2024 12:54:19 +0000 (13:54 +0100)]
osd/SnapMapper: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/scrubber: add missing includes
Max Kellermann [Sun, 27 Oct 2024 12:52:36 +0000 (13:52 +0100)]
osd/scrubber: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/scrubber/ScrubStore: remove `using std::ostringstream` directive
Max Kellermann [Fri, 28 Mar 2025 12:08:50 +0000 (13:08 +0100)]
osd/scrubber/ScrubStore: remove `using std::ostringstream` directive

This name is never used.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoosd/PGLog: add missing include
Max Kellermann [Sun, 27 Oct 2024 12:48:14 +0000 (13:48 +0100)]
osd/PGLog: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoinclude/object: include cleanup
Max Kellermann [Tue, 29 Oct 2024 07:16:17 +0000 (08:16 +0100)]
include/object: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agodoc/rados/operations: Improve erasure-code.rst 62572/head
Anthony D'Atri [Sun, 30 Mar 2025 19:47:14 +0000 (15:47 -0400)]
doc/rados/operations: Improve erasure-code.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
3 months agomgr/dashboard: fix domain settings modal scrollable 62541/head
Pedro Gonzalez Gomez [Thu, 27 Mar 2025 00:39:05 +0000 (01:39 +0100)]
mgr/dashboard: fix domain settings modal scrollable

Fixes: https://tracker.ceph.com/issues/70692
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
3 months agoos/bluestore/write-v2: Tune down usage of 'unused' 62246/head
Adam Kupczyk [Wed, 12 Mar 2025 09:55:00 +0000 (09:55 +0000)]
os/bluestore/write-v2: Tune down usage of 'unused'

We should not use 'unused' when allocation unit = disk block.
Blobs with 'unused' cannot be split which makes shard resharding
more problematic and spanning blobs more pronounced.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 months agocephfs-top: Removes unused `global` statements 62567/head
Kefu Chai [Sun, 30 Mar 2025 03:59:12 +0000 (11:59 +0800)]
cephfs-top: Removes unused `global` statements

Recent flake8 runs were failing with:
```
py3: flake8==7.2.0,mccabe==0.7.0,pip==25.0.1,pycodestyle==2.13.0,pyflakes==3.3.0,setuptools==75.8.0,wheel==0.45.1
py3: commands[0] /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/cephfs/top> flake8 --ignore=W503 --max-line-length=100 cephfs-top
cephfs-top:344:9: F824 `global fs_list` is unused: name is never assigned in scope
cephfs-top:466:13: F824 `global current_states` is unused: name is never assigned in scope
cephfs-top:872:9: F824 `global metrics_dict` is unused: name is never assigned in scope
cephfs-top:872:9: F824 `global current_states` is unused: name is never assigned in scope
cephfs-top:911:9: F824 `global fs_list` is unused: name is never assigned in scope
cephfs-top:981:9: F824 `global current_states` is unused: name is never assigned in scope
cephfs-top:1126:13: F824 `global current_states` is unused: name is never assigned in scope
py3: exit 1 (0.77 seconds) /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/cephfs/top> flake8 --ignore=W503 --max-line-length=100 cephfs-top pid=2309605
  py3: FAIL code 1 (8.15=setup[7.38]+cmd[0.77] seconds)
  evaluation failed :( (8.24 seconds)
```

Since these variables are only being referenced and not assigned within
their scopes, the `global` declarations are unnecessary and can be
safely removed. This change:

- Removes all flagged `global` statements
- Fixes the failing flake8 checks in the CI pipeline
- Maintains the original code behavior as variable references still work without the `global` keyword

The `global` keyword is only needed when assigning to global variables
within a function scope, not when simply referencing them.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agoqa: Remove unnecessary global statements in tests
Kefu Chai [Sun, 30 Mar 2025 03:48:28 +0000 (11:48 +0800)]
qa: Remove unnecessary global statements in tests

Removes unused `global` statements from Python test files to fix flake8
F824 errors.

Recent flake8 runs were failing with:

```
./tasks/radosgw_admin.py:330:5: F824 `global log` is unused: name is never assigned in scope
./workunits/dencoder/test_readable.py:99:5: F824 `global incompat_paths` is unused: name is never assigned in scope
./workunits/dencoder/test_readable.py:164:5: F824 `global backward_compat` is unused: name is never assigned in scope
./workunits/dencoder/test_readable.py:165:5: F824 `global fast_shouldnt_skip` is unused: name is never assigned in scope
```

Since these variables are only being referenced and not assigned within
their scopes, the `global` declarations are unnecessary and can be
safely removed. This change:

- Removes all flagged `global` statements
- Fixes the failing flake8 checks in the CI pipeline
- Maintains the original code behavior as variable references still work
  without the `global` keyword

The `global` keyword is only needed when assigning to global variables
within a function scope, not when simply referencing them.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agogoogletest: pick up change to silence CMake warnings 62566/head
Kefu Chai [Sun, 30 Mar 2025 02:31:21 +0000 (10:31 +0800)]
googletest: pick up change to silence CMake warnings

bump up googletest submodule to the latest stable release, in order to
silence the warning from CMake:

```
CMake Deprecation Warning at src/googletest/CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

CMake Deprecation Warning at src/googletest/googlemock/CMakeLists.txt:45 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

CMake Deprecation Warning at src/googletest/googletest/CMakeLists.txt:56 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
```

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agoneorados/test: use [[maybe_unused]] instead of GTEST_ATTRIBUTE_UNUSED_
Kefu Chai [Sun, 30 Mar 2025 03:14:01 +0000 (11:14 +0800)]
neorados/test: use [[maybe_unused]] instead of GTEST_ATTRIBUTE_UNUSED_

This change:

- Aligns with GoogleTest's own evolution, which now uses
  `[[maybe_unused]]` internally (via
  `GTEST_INTERNAL_ATTRIBUTE_MAYBE_UNUSED`) as of
  https://github.com/google/googletest/commit/5a37b517
- Leverages C++20 features already available in Ceph
- Removes dependency on GoogleTest internal macros
- Enables updating the GoogleTest submodule to silence CMake warnings

Using the standard C++ attribute provides better compatibility and
future-proofing than relying on GoogleTest's internal implementation
details.

This change also allows us to bump up googletest submodule to silence a
CMake warning.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agoneorados/test: Simplify copy prevention by using GtestNonCopyable
Kefu Chai [Sun, 30 Mar 2025 02:56:05 +0000 (10:56 +0800)]
neorados/test: Simplify copy prevention by using GtestNonCopyable

Updates the test framework to use GoogleTest's simplified copy
prevention mechanism by inheriting from
`::testing::internal::GtestNonCopyable` instead of custom macros.

This change:
- Replaces deprecated GTEST_DISALLOW_* macros that were removed in
  GoogleTest (https://github.com/google/googletest/commit/bf66935e07825318ae519675d73d0f3e313b3ec6)
- Aligns with GoogleTest's current approach for preventing test suite
  copying, See
  https://github.com/google/googletest/commit/93f08be653c36ddc6943e9513fc14c7292b4d007
- Enables updating the GoogleTest submodule to silence CMake warnings
- Improves compatibility with recent distro-packaged GoogleTest versions
- add the minimal required GTest version when finding this package,
  this change should have no impact to our packaging. as both deb
  and rpm packagings are using bundled googletest submodule. and
  googletest 1.14 has been included by recent stable releases of
  popular distros, like fedora 41 and ubuntu 24.04.
While `GtestNonCopyable` is technically an internal helper, we already
use other helpers from the `::testing::internal` namespace, so this
change maintains consistency with our existing approach.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agocmake: do not pass PRE_BUILD to add_custom_command(OUTPUT) 62565/head
Kefu Chai [Sun, 30 Mar 2025 02:10:28 +0000 (10:10 +0800)]
cmake: do not pass PRE_BUILD to add_custom_command(OUTPUT)

Removes the invalid PRE_BUILD argument from add_custom_command(OUTPUT)
calls that was triggering CMake warnings. The PRE_BUILD option is only
valid for target-based custom commands and specifically with Visual
Studio generators.

Additionally sets the CMP0175 policy to NEW to ensure CMake fails on
invalid arguments to add_custom_command(), helping catch similar issues
earlier in the development process.

This change:

- Removes unnecessary PRE_BUILD argument from OUTPUT-based custom commands
- Sets CMP0175 policy to enforce validation of add_custom_command() arguments
- Resolves CMake warning in src/common/options/CMakeLists.txt

Reference:
https://cmake.org/cmake/help/latest/command/add_custom_command.html#build-events

The CMake warning looks like:

```
CMake Warning (dev) at src/common/options/CMakeLists.txt:34 (add_custom_command):
  The following keywords are not supported when using
  add_custom_command(OUTPUT): PRE_BUILD.

  Policy CMP0175 is not set: add_custom_command() rejects invalid arguments.
  Run "cmake --help-policy CMP0175" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
Call Stack (most recent call first):
  src/common/options/CMakeLists.txt:85 (add_options)
This warning is for project developers.  Use -Wno-dev to suppress it.
```

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agocmake: Allow building with fmt <= 11.1.4 62564/head
Kefu Chai [Sun, 30 Mar 2025 01:39:53 +0000 (09:39 +0800)]
cmake: Allow building with fmt <= 11.1.4

Testing confirms successful builds with fmt 11.1.4, which is currently
packaged in Fedora 42. This change relaxes the fmt version constraints
to improve compatibility with Fedora 42 and other distributions shipping
this version of fmt-devel.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>