]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 months agodoc/radosgw: Use macro for release info in bucketpolicy.rst 63009/head
Ville Ojamo [Mon, 28 Apr 2025 11:34:23 +0000 (18:34 +0700)]
doc/radosgw: Use macro for release info in bucketpolicy.rst

Don't spell out the release that added the feature, instead use RST
macro for it, like other documents do.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agoMerge pull request #62860 from joscollin/wip-D70953-cephfs-journal-tool
Zac Dover [Mon, 28 Apr 2025 03:37:29 +0000 (13:37 +1000)]
Merge pull request #62860 from joscollin/wip-D70953-cephfs-journal-tool

doc: update cephfs-journal-tool docs

Reviewed-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge pull request #62977 from tchaikov/mgr-std-variant
Kefu Chai [Mon, 28 Apr 2025 03:34:26 +0000 (11:34 +0800)]
Merge pull request #62977 from tchaikov/mgr-std-variant

mgr: migrate from boost::variant to std::variant

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #62975 from tchaikov/libcephfs_proxy-silence-warning
Kefu Chai [Mon, 28 Apr 2025 03:23:00 +0000 (11:23 +0800)]
Merge pull request #62975 from tchaikov/libcephfs_proxy-silence-warning

libcephfs_proxy: remove arithmetic on void*

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@gmail.com>
2 months agoMerge pull request #62991 from tchaikov/common-aligned_storage
Kefu Chai [Sun, 27 Apr 2025 23:52:29 +0000 (07:52 +0800)]
Merge pull request #62991 from tchaikov/common-aligned_storage

common: avoid using std::aligned_storage_t

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 months agoMerge pull request #62996 from ronen-fr/wip-rf-testtoofast
Ronen Friedman [Sun, 27 Apr 2025 12:45:15 +0000 (15:45 +0300)]
Merge pull request #62996 from ronen-fr/wip-rf-testtoofast

osd/scrub: always round up reported scrub duration

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agomgr: migrate from boost::variant to std::variant 62977/head
Kefu Chai [Fri, 25 Apr 2025 15:53:08 +0000 (23:53 +0800)]
mgr: migrate from boost::variant to std::variant

Replace `boost::variant` with `std::variant` as part of our effort to reduce
third-party dependencies in favor of C++ standard library alternatives.

Benefits include:
- Improved code readability and maintainability
- Reduced external dependency surface
- More consistent API usage with other components

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 months agoMerge pull request #62979 from anthonyeleven/formatting
Anthony D'Atri [Sat, 26 Apr 2025 14:25:06 +0000 (10:25 -0400)]
Merge pull request #62979 from anthonyeleven/formatting

doc/radosgw: Improve formatting in layout.rst

2 months agocommon: avoid using std::aligned_storage_t 62991/head
Kefu Chai [Sat, 26 Apr 2025 10:06:26 +0000 (18:06 +0800)]
common: avoid using std::aligned_storage_t

std::aligned_storage_t was deprecated in C++23, to be prepared for
it, let's use alignas for the same behavior.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 months agoosd/scrub: always round up reported scrub duration 62996/head
Ronen Friedman [Sat, 26 Apr 2025 08:21:29 +0000 (03:21 -0500)]
osd/scrub: always round up reported scrub duration

as expected by some tests, and clearer for the user.

Fixes: https://tracker.ceph.com/issues/68833
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agoMerge pull request #62970 from bluikko/doc-toc-sectionlevels2-radosgw
Anthony D'Atri [Sat, 26 Apr 2025 06:30:59 +0000 (02:30 -0400)]
Merge pull request #62970 from bluikko/doc-toc-sectionlevels2-radosgw

doc/radosgw: Fix section header level in config-ref.rst

2 months agoMerge pull request #62986 from bluikko/doc-headerlines-radosgw
Anthony D'Atri [Sat, 26 Apr 2025 06:16:50 +0000 (02:16 -0400)]
Merge pull request #62986 from bluikko/doc-headerlines-radosgw

doc/radosgw: Fix length of section header underlines in oidc.rst

2 months agoMerge pull request #62988 from bluikko/doc-oidc-examples-radosgw
Anthony D'Atri [Sat, 26 Apr 2025 06:16:07 +0000 (02:16 -0400)]
Merge pull request #62988 from bluikko/doc-oidc-examples-radosgw

doc/radosgw: Fix RST syntax rendered as text in oidc.rst

2 months agoMerge pull request #62987 from bluikko/doc-sts-edit-radosgw v20.3.0
Anthony D'Atri [Sat, 26 Apr 2025 06:15:31 +0000 (02:15 -0400)]
Merge pull request #62987 from bluikko/doc-sts-edit-radosgw

doc/radosgw: Improve formatting in STS.rst

2 months agodoc/radosgw: Improve formatting in STS.rst 62987/head
Ville Ojamo [Sat, 26 Apr 2025 03:54:12 +0000 (10:54 +0700)]
doc/radosgw: Improve formatting in STS.rst

Some text uses hardcoded ordered list numbers and as a result
have duplicate list numbers. Move to use RST ordered lists and
indent the contents of each list item correctly. Fix referenced
list item number in text that pointed to a wrong list item.

Format references to parameter names, user IDs, file names etc
as inline code.

Add prompts to example commands.

Change instances of "rgw" or "Radosgw" in text to "RGW".

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Fix RST syntax rendeded as text in oidc.rst 62988/head
Ville Ojamo [Sat, 26 Apr 2025 04:17:16 +0000 (11:17 +0700)]
doc/radosgw: Fix RST syntax rendeded as text in oidc.rst

Empty line after starting a pre-formatted block with the double-colon
syntax is required, otherwise the double-colon does nothing and is just
rendered as-is as "::" and there would be no following pre-formatted
block.

Add empty lines after the double-colon syntax so that the following
block is rendered pre-formatted.

Also add bash privileged prompts to a block with 2 example CLI commands.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Fix length of section header underlines in oidc.rst 62986/head
Ville Ojamo [Sat, 26 Apr 2025 03:30:57 +0000 (10:30 +0700)]
doc/radosgw: Fix length of section header underlines in oidc.rst

Set the length of the RST syntax underlining for section headers to be
as long as the section header text.
Also it seems common to indent the document title with one space at both
the beginning and the end so do that.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Improve formatting in layout.rst 62979/head
Anthony D'Atri [Fri, 25 Apr 2025 17:10:06 +0000 (13:10 -0400)]
doc/radosgw: Improve formatting in layout.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 months agoMerge PR #62901 into main
Patrick Donnelly [Fri, 25 Apr 2025 19:02:03 +0000 (15:02 -0400)]
Merge PR #62901 into main

* refs/pull/62901/head:
qa/workunits/fs/misc: remove data pool cleanup

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2 months agoMerge PR #62833 into main
Patrick Donnelly [Fri, 25 Apr 2025 19:00:39 +0000 (15:00 -0400)]
Merge PR #62833 into main

* refs/pull/62833/head:
qa: test charmap changes with dir and snaps
mds: check for snapshots on parent snaprealms
mds: use strict_strtobool for parsing bools
common: take string_view for strict_tobool

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2 months agoMerge pull request #62966 from bluikko/doc-toc-sectionlevels-radosgw
Anthony D'Atri [Fri, 25 Apr 2025 16:20:51 +0000 (12:20 -0400)]
Merge pull request #62966 from bluikko/doc-toc-sectionlevels-radosgw

doc/radosgw: Fix section header levels in multisite-sync-policy.rst

2 months agolibcephfs_proxy: remove arithmetic on void* 62975/head
Kefu Chai [Fri, 25 Apr 2025 15:10:37 +0000 (23:10 +0800)]
libcephfs_proxy: remove arithmetic on void*

this change is created in the same spirit of bb1fa818.

when building the tree with clang-21, following warning was raised:
```
/home/kefu/dev/ceph/src/libcephfs_proxy/proxy_async.c:43:9: warning: arithmetic on a pointer to void is a GNU extension [-Wgnu-pointer-arith]
   43 |                         data += iov->iov_len;
      |                         ~~~~ ^
1 warning generated.
```

this change should address this warning by casting a `void*` pointer to
`char*` pointer before performing arithmetic operation on it.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 months agoMerge pull request #62023 from Kushal-deb/user-friendly_error_handling_for_invalid_os...
Adam King [Fri, 25 Apr 2025 15:11:31 +0000 (11:11 -0400)]
Merge pull request #62023 from Kushal-deb/user-friendly_error_handling_for_invalid_osd_device_paths

cephadm: Provide user friendly error message if osd device path is invalid

Reviewed-by: Adam King <adking@redhat.com>
2 months agoMerge pull request #62895 from cyx1231st/wip-seastore-omap-link-init
Yingxin Cheng [Fri, 25 Apr 2025 14:41:02 +0000 (22:41 +0800)]
Merge pull request #62895 from cyx1231st/wip-seastore-omap-link-init

crimson/os/seastore/omap_manager: simplify maybe_init from tolerating duplicated calls

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
2 months agoMerge pull request #62938 from cyx1231st/wip-seastore-cleanup-paddr-types
Yingxin Cheng [Fri, 25 Apr 2025 12:55:31 +0000 (20:55 +0800)]
Merge pull request #62938 from cyx1231st/wip-seastore-cleanup-paddr-types

crimson/os/seastore: improve checks to the paddr types

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2 months agoMerge pull request #62838 from cyx1231st/wip-seastore-simplify-cache-access-metrics
Yingxin Cheng [Fri, 25 Apr 2025 12:53:55 +0000 (20:53 +0800)]
Merge pull request #62838 from cyx1231st/wip-seastore-simplify-cache-access-metrics

crimson/os/seastore: simplify cache access metrics

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
2 months agoMerge pull request #56336 from pritha-srivastava/wip-rgw-d4n-next
Matt Benjamin [Fri, 25 Apr 2025 11:53:30 +0000 (07:53 -0400)]
Merge pull request #56336 from pritha-srivastava/wip-rgw-d4n-next

Wip rgw d4n next

2 months agoMerge pull request #56975 from aclamk/wip-aclamk-bs-compression-recompression
Adam Kupczyk [Fri, 25 Apr 2025 10:18:34 +0000 (12:18 +0200)]
Merge pull request #56975 from aclamk/wip-aclamk-bs-compression-recompression

os/bluestore: Recompression, part 4. Scanner, Estimator and core recompression.

2 months agodoc/radosgw: Fix section header level in config-ref.rst 62970/head
Ville Ojamo [Fri, 25 Apr 2025 09:00:20 +0000 (16:00 +0700)]
doc/radosgw: Fix section header level in config-ref.rst

The section named "QoS Settings" looks like it should not be a child of
the section "SSE-S3 Settings". Move it to be a sibling to it, on the
same level instead.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Fix section header levels in multisite-sync-policy.rst 62966/head
Ville Ojamo [Fri, 25 Apr 2025 07:16:52 +0000 (14:16 +0700)]
doc/radosgw: Fix section header levels in multisite-sync-policy.rst

The section header levels are reversed so the hierarchy in the TOC is
incorrect. Switch around the section header levels to make the TOC
hierarchy correct, for example individual examples are children of the
"Examples" section.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agoMerge pull request #59673 from shraddhaag/availability-score-feature
Shraddha Agrawal [Fri, 25 Apr 2025 05:56:15 +0000 (11:26 +0530)]
Merge pull request #59673 from shraddhaag/availability-score-feature

monitor: add availability score feature

2 months agoMerge pull request #62937 from gbregman/main
Gil Bregman [Fri, 25 Apr 2025 05:34:07 +0000 (08:34 +0300)]
Merge pull request #62937 from gbregman/main

mgr/cephadm/nvmeof: Allow setting NVMEoF gateway huge pages count in the spec file

2 months agoMerge PR #62658 into main
Patrick Donnelly [Fri, 25 Apr 2025 02:41:14 +0000 (22:41 -0400)]
Merge PR #62658 into main

* refs/pull/62658/head:
libcephfs_proxy: Remove arithmetic on `void*`

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@gmail.com>
2 months agocrimson/os/seastore/cache: init root as dirty 62938/head
Yingxin Cheng [Wed, 23 Apr 2025 14:05:35 +0000 (22:05 +0800)]
crimson/os/seastore/cache: init root as dirty

To simplify checks that root won't appear in lru.

Also, make sure root has a root paddr.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore: introduce strict paddr type checks in cache and transaction
Yingxin Cheng [Wed, 23 Apr 2025 09:30:24 +0000 (17:30 +0800)]
crimson/os/seastore: introduce strict paddr type checks in cache and transaction

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore/seastore_types: tolerate fake paddrs as absolute addresses
Yingxin Cheng [Wed, 23 Apr 2025 09:27:04 +0000 (17:27 +0800)]
crimson/os/seastore/seastore_types: tolerate fake paddrs as absolute addresses

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore: fake paddr is only possible with UT, wrap with UNIT_TESTS_BUILT
Yingxin Cheng [Wed, 23 Apr 2025 09:02:54 +0000 (17:02 +0800)]
crimson/os/seastore: fake paddr is only possible with UT, wrap with UNIT_TESTS_BUILT

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore/seastore_types: prefer paddr_t::is_absolute_*()
Yingxin Cheng [Wed, 23 Apr 2025 06:59:25 +0000 (14:59 +0800)]
crimson/os/seastore/seastore_types: prefer paddr_t::is_absolute_*()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore: more accurate checks to the paddr types
Yingxin Cheng [Wed, 23 Apr 2025 06:38:43 +0000 (14:38 +0800)]
crimson/os/seastore: more accurate checks to the paddr types

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agomgr/cephadm/nvmeof: Allow setting NVMEoF gateway huge pages count in the spec file 62937/head
Gil Bregman [Wed, 23 Apr 2025 20:55:24 +0000 (23:55 +0300)]
mgr/cephadm/nvmeof: Allow setting NVMEoF gateway huge pages count in the spec file
Fixes https://tracker.ceph.com/issues/71043

Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
2 months agoMerge pull request #62561 from rkachach/fix_issue_70359_v2
Adam King [Thu, 24 Apr 2025 18:40:28 +0000 (14:40 -0400)]
Merge pull request #62561 from rkachach/fix_issue_70359_v2

mgr/cephadm: harmonize mgmt-gateway and oauth2-proxy spec fields

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2 months agoMerge pull request #62302 from thegreenbear/cephadm-sd-custom-containers
Adam King [Thu, 24 Apr 2025 18:34:21 +0000 (14:34 -0400)]
Merge pull request #62302 from thegreenbear/cephadm-sd-custom-containers

mgr/cephadm: enhanced service to allow discovery of custom containers

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 months agoMerge pull request #62936 from cbodley/wip-doc-rgw-getobjattrs
Casey Bodley [Thu, 24 Apr 2025 15:35:48 +0000 (11:35 -0400)]
Merge pull request #62936 from cbodley/wip-doc-rgw-getobjattrs

doc/rgw: release note for GetObjectAttributes

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agoMerge pull request #62845 from rhcs-dashboard/fix-path
Pedro Gonzalez Gomez [Thu, 24 Apr 2025 15:26:18 +0000 (17:26 +0200)]
Merge pull request #62845 from rhcs-dashboard/fix-path

mgr/dashboard: fix smb edit resources

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 months agoMerge pull request #62715 from cbodley/wip-qa-rgw-no-gc
Casey Bodley [Thu, 24 Apr 2025 14:59:33 +0000 (10:59 -0400)]
Merge pull request #62715 from cbodley/wip-qa-rgw-no-gc

qa/rgw: run verify tests with garbage collection disabled

Reviewed-by: Jane Zhu <jzhu116@bloomberg.net>
2 months agoMerge pull request #62921 from idryomov/wip-71026
Ilya Dryomov [Thu, 24 Apr 2025 14:36:46 +0000 (16:36 +0200)]
Merge pull request #62921 from idryomov/wip-71026

librbd: disallow "rbd trash mv" if image is in a group

Reviewed-by: Ramana Raja <rraja@redhat.com>
2 months agoqa/standalone/misc/availability.sh: add tests 59673/head
Shraddha Agrawal [Mon, 6 Jan 2025 07:12:11 +0000 (07:12 +0000)]
qa/standalone/misc/availability.sh: add tests

This commit adds a standalone test for verifying if
the availability score of a pool comes down when there
are unfound objects present.

Fixes: https://tracker.ceph.com/issues/67777
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2 months agosrc/mon/PGMap.cc: check unfound obejcts in `get_unavailable_pg_in_pool_map`
Shraddha Agrawal [Mon, 7 Oct 2024 06:16:34 +0000 (11:46 +0530)]
src/mon/PGMap.cc: check unfound obejcts in `get_unavailable_pg_in_pool_map`

If a pool has any PG with unfound objects, we should consider
it unavailable for the availability score. If a PG has unfound
objects, it will be recorded in PGMap.

In `get_unavailable_pg_in_map`, if a PG has unfound obejcts,
we add it to `pool_pg_unavailable_map`.

Fixes: https://tracker.ceph.com/issues/67777
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2 months agosrc/osd/PeeringState.cc: update last_unstale properly
Kamoltat [Tue, 21 Nov 2023 18:55:29 +0000 (18:55 +0000)]
src/osd/PeeringState.cc: update last_unstale properly

Problem:

When we update the `pg_stat` we don't
check whether the pg state is in `stale`.
Therefore, the attribute `last_unstale`
will always get updated even if the pg
state actually contains `stale`.

Solution:

Place a condition to only update
the attribute `last_unstale` when
we the pg truly doesn't have `stale`
in its state.

Fixes: https://tracker.ceph.com/issues/67777
Signed-off-by: Kamoltat <ksirivad@redhat.com>
2 months agosrc/mgr/OSDMonitor.cc Add command `ceph osd pool availability-status`
Kamoltat [Tue, 10 Oct 2023 15:15:35 +0000 (15:15 +0000)]
src/mgr/OSDMonitor.cc Add command `ceph osd pool availability-status`

```
ceph osd pool availability-status
```
outputs:

`POOL`
`UPTIME`
`DOWNTIME`
`NUMFAILURES`
`MTBF`
`MTTR`
`SCORE`
`AVAILABLE`

Fixes: https://tracker.ceph.com/issues/67777
Signed-off-by: Kamoltat <ksirivad@redhat.com>
2 months agosrc/mon/PGMap.cc: init pool_availability
Kamoltat [Thu, 26 Oct 2023 19:08:37 +0000 (19:08 +0000)]
src/mon/PGMap.cc: init pool_availability

Added PoolAvailability Struct

Modified PGMap.cc to include a k,v map:
`pool_availability`.

The key being the `poolid` and value
is `PoolAvailability`

Init the function:
`PGMap::get_unavailable_pg_in_pool_map()`
to identify and aggregate all the PGs we
mark as `unavailable` as well as the pool
that associates with the unavailable PG.

Also, included `pool_availability`
to `PGMapDigest::dump()`.

Fixes: https://tracker.ceph.com/issues/67777
Signed-off-by: Kamoltat <ksirivad@redhat.com>
2 months agodoc: update cephfs-journal-tool docs 62860/head
Jos Collin [Thu, 17 Apr 2025 10:13:46 +0000 (15:43 +0530)]
doc: update cephfs-journal-tool docs

Fixes: https://tracker.ceph.com/issues/70953
Signed-off-by: Jos Collin <jcollin@redhat.com>
2 months agoMerge pull request #62941 from MaxKellermann/mds_Locker__abort
Max Kellermann [Thu, 24 Apr 2025 09:12:12 +0000 (11:12 +0200)]
Merge pull request #62941 from MaxKellermann/mds_Locker__abort

mds/Locker: use ceph_abort_msg() instead of ceph_assert()

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 months agoqa/suites/rados/bluestore: Add standalone tests for write_v2 56975/head
Adam Kupczyk [Tue, 22 Apr 2025 11:23:35 +0000 (11:23 +0000)]
qa/suites/rados/bluestore: Add standalone tests for write_v2

Standalone tests for ceph_test_objectstore require separate instances
for testing write_v2=true.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoos/bluestore: Add "bluestore compression stats"
Adam Kupczyk [Thu, 13 Jun 2024 17:34:57 +0000 (17:34 +0000)]
os/bluestore: Add "bluestore compression stats"

Add new admin socket command to inspect Estimator stats per collection.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoos/bluestore: Add admin socket commands to inspect onode metadata
Adam Kupczyk [Mon, 10 Jun 2024 16:03:24 +0000 (16:03 +0000)]
os/bluestore: Add admin socket commands to inspect onode metadata

Add admin socket commands:
1) bluestore collections
Lists collections.
2) bluestore list <coll> [start object] [max count]
Lists collection coll starting from object (optional). Default 100 entries. 0 = unlimited.
3) bluestore onode metadata <object>
Prints onode metadata as seen by BlueStore.

It might happen (usually in tests) that 2 BlueStore instances are created at the same time.
Since admin commands are unique, it fails to register.
Use first register to detect whether we can register at all.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agotest/objectstore/store_test: Adapt tests to write_v2
Adam Kupczyk [Wed, 29 May 2024 06:34:23 +0000 (06:34 +0000)]
test/objectstore/store_test: Adapt tests to write_v2

Tests that use original write path specific knowledge are failing now.
Falling back to write_v1 in these tests.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoos/bluestore: Add do_write_v2_compressed()
Adam Kupczyk [Tue, 8 Apr 2025 08:36:21 +0000 (08:36 +0000)]
os/bluestore: Add do_write_v2_compressed()

Modify do_write_v2() to branch into do_write_v2_compressed().
Segmented and regular cases are recognized and handled properly.
New do_write_v2_compressed() oversees compression / recompression.

Make one Estimator per Collection.
It makes possible for estimator to learn in collection specific compressibility.
In write_v2_compressed use compressor already selected in choose_write_options.
Make Collection create Estimator on first use.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoos/bluestore/compression: Main part of recompression feature
Adam Kupczyk [Tue, 8 Apr 2025 11:03:22 +0000 (11:03 +0000)]
os/bluestore/compression: Main part of recompression feature

Add feature of recompression scanner that looks around write region to see how much
would be gained, if we read some more around and wrote more.
Added Compression.h / Compression.cc.
Added debug_bluestore_compression dout.
Created Scanner class.
Provides write_lookaround() for scanning loaded extents.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoos/bluestore/compression: Estimator class
Adam Kupczyk [Wed, 9 Apr 2025 16:03:52 +0000 (16:03 +0000)]
os/bluestore/compression: Estimator class

Add CMake rules to compile.
Add bluestore_compression dout subsys.

Created Estimator class.
It is used by Scanner to decide if specific extent is to be recompressed.
Prepare for future machine learning / adaptive algorithm for estimation.

So far logic of Estimator is relatively simple.
It learns expected recompression values and uses them in next iterations to predict.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoMerge pull request #59248 from kamoltat/wip-ksirivad-improve-netsplit-warning
Radoslaw Zarzynski [Thu, 24 Apr 2025 06:17:51 +0000 (08:17 +0200)]
Merge pull request #59248 from kamoltat/wip-ksirivad-improve-netsplit-warning

HealthMonitor: Add topology-aware netsplit detection and warning

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2 months agomds/Locker: use ceph_abort_msg() instead of ceph_assert() 62941/head
Max Kellermann [Thu, 24 Apr 2025 05:17:48 +0000 (07:17 +0200)]
mds/Locker: use ceph_abort_msg() instead of ceph_assert()

This ceph_assert() always fails, but depending on the configuration
value `ceph_assert_supresssions`, execution may continue, but the
`dir` variable is left uninitialized.  This leads to a compiler
warning:

 /home/jenkins-build/build/workspace/ceph-api/src/mds/Locker.cc:451:22: error: variable 'dir' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]

clang then suggests to nullptr-initialize the variable:

 /home/jenkins-build/build/workspace/ceph-api/src/mds/Locker.cc:447:11: note: initialize the variable 'dir' to silence this warning
   447 |         CDir *dir;
       |                  ^
       |                   = nullptr

This, however, is a very bad idea because all this does is suppress
the warning; it still crashes the process.

Since there's no recovery from this problem, let's switch to
ceph_abort_msg() which is [[noreturn]] and the compiler can deduce
that `dir` is always initialized when it's used.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
2 months agoMerge pull request #62693 from ronen-fr/wip-rf-iocnt
Ronen Friedman [Thu, 24 Apr 2025 05:17:33 +0000 (08:17 +0300)]
Merge pull request #62693 from ronen-fr/wip-rf-iocnt

osd/scrub: performance counters for I/O performed by the scrubber

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 months agocrimson/os/seastore/seastore_types: introduce and use paddr_t::is_absolute_segmented...
Yingxin Cheng [Wed, 23 Apr 2025 06:37:43 +0000 (14:37 +0800)]
crimson/os/seastore/seastore_types: introduce and use paddr_t::is_absolute_segmented/random_block()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore/lba_mapping: fix LBAMapping::is_zero_reserved()
Yingxin Cheng [Wed, 23 Apr 2025 06:22:58 +0000 (14:22 +0800)]
crimson/os/seastore/lba_mapping: fix LBAMapping::is_zero_reserved()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agocrimson/os/seastore/seastore_types: adjust paddr_t::is_real_location()
Yingxin Cheng [Wed, 23 Apr 2025 06:21:30 +0000 (14:21 +0800)]
crimson/os/seastore/seastore_types: adjust paddr_t::is_real_location()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agoMerge pull request #62898 from nbalacha/wip-nbalacha-70963
Ilya Dryomov [Wed, 23 Apr 2025 22:28:52 +0000 (00:28 +0200)]
Merge pull request #62898 from nbalacha/wip-nbalacha-70963

rbd: display mirror state creating

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 months agoMerge pull request #60899 from clwluvw/curl-einval
Casey Bodley [Wed, 23 Apr 2025 22:28:16 +0000 (18:28 -0400)]
Merge pull request #60899 from clwluvw/curl-einval

rgw: handle EINVAL translation in forward_request

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agoMerge pull request #62888 from clwluvw/neorados-fifotrim
Casey Bodley [Wed, 23 Apr 2025 20:42:08 +0000 (16:42 -0400)]
Merge pull request #62888 from clwluvw/neorados-fifotrim

neorados: relax fifo trim error for ENODATA

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2 months agosrc/pybind/mgr/cephadm/service_discovery: enhanced service to allow discovery of... 62302/head
Bernard Landon [Fri, 14 Mar 2025 14:25:00 +0000 (14:25 +0000)]
src/pybind/mgr/cephadm/service_discovery: enhanced service to allow discovery of custom containers

Fixes: https://tracker.ceph.com/issues/70482
Signed-off-by: Bernard Landon <bernard@lndn.ch>
2 months agodoc/rgw: release note for GetObjectAttributes 62936/head
Casey Bodley [Wed, 23 Apr 2025 19:06:19 +0000 (15:06 -0400)]
doc/rgw: release note for GetObjectAttributes

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agoMerge pull request #62902 from cbodley/wip-70700-disable
Casey Bodley [Wed, 23 Apr 2025 18:46:59 +0000 (14:46 -0400)]
Merge pull request #62902 from cbodley/wip-70700-disable

cmake/common: temporarily remove decode_start_v_checker tests

Reviewed-by: Dan Mick <dmick@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 months agoMerge pull request #60227 from clwluvw/zonegroup-delbucket
Casey Bodley [Wed, 23 Apr 2025 18:02:16 +0000 (14:02 -0400)]
Merge pull request #60227 from clwluvw/zonegroup-delbucket

rgw: skip empty check on non-owned buckets by zonegroup

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agoMerge pull request #62738 from clwluvw/copy-obj-remote-zonegroup
Casey Bodley [Wed, 23 Apr 2025 18:00:56 +0000 (14:00 -0400)]
Merge pull request #62738 from clwluvw/copy-obj-remote-zonegroup

rgw: dont store replication attrs on remote copy obj

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agoosd/scrub: count scrub I/O 62693/head
Ronen Friedman [Tue, 15 Apr 2025 08:34:06 +0000 (03:34 -0500)]
osd/scrub: count scrub I/O

Implement I/O counting in the PGBackend::be_scan_list()
and relevant functions it calls.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agoMerge pull request #62699 from Matan-B/wip-matanb-crimson-ignore-abort-v2
Matan Breizman [Wed, 23 Apr 2025 15:35:28 +0000 (18:35 +0300)]
Merge pull request #62699 from Matan-B/wip-matanb-crimson-ignore-abort-v2

crimson/common/errorator: rework aborts error handlers

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agoMerge pull request #62556 from aainscow/ec_pr_and_prereqs
Radoslaw Zarzynski [Wed, 23 Apr 2025 15:19:31 +0000 (17:19 +0200)]
Merge pull request #62556 from aainscow/ec_pr_and_prereqs

osd: Optimised EC

Reviewed-by: Radoslaw Zarzynski <rzarzynski@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 months agorbd: display correct mirror state when creating 62898/head
N Balachandran [Mon, 21 Apr 2025 11:34:08 +0000 (17:04 +0530)]
rbd: display correct mirror state when creating

The mirror image state is set to MIRROR_IMAGE_STATE_CREATING
when the image is first created on the secondary, but was displayed
as "unknown" by the rbd info command. This has been fixed.

Fixes: https://tracker.ceph.com/issues/70963
Signed-off-by: N Balachandran <nithya.balachandran@ibm.com>
2 months agoMerge pull request #62710 from bill-scales/ec_backfill
Laura Flores [Wed, 23 Apr 2025 15:06:56 +0000 (10:06 -0500)]
Merge pull request #62710 from bill-scales/ec_backfill

osd: EC Optimizations: Backfill changes for partial writes

2 months agoMerge pull request #62725 from VallariAg/nvmeof-teuthology-fio
Vallari Agrawal [Wed, 23 Apr 2025 13:17:12 +0000 (18:47 +0530)]
Merge pull request #62725 from VallariAg/nvmeof-teuthology-fio

qa/suites/nvmeof: Fix thrasher and fio script

2 months agoMerge pull request #60731 from joscollin/wip-B68954-check-headers-journal-recovery
Rishabh Dave [Wed, 23 Apr 2025 12:15:54 +0000 (17:45 +0530)]
Merge pull request #60731 from joscollin/wip-B68954-check-headers-journal-recovery

cephfs-journal-tool: check the headers in dump file after journal recovery

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2 months agoMerge pull request #62914 from baum/ms_dispatch2_clean_up
baum [Wed, 23 Apr 2025 10:36:16 +0000 (13:36 +0300)]
Merge pull request #62914 from baum/ms_dispatch2_clean_up

src/nvmeof/NVMeofGwMonitorClient.cc: ms_dispatch2 clean up

2 months agoMerge pull request #62696 from anthonyeleven/mgr-prom
Zac Dover [Wed, 23 Apr 2025 09:27:00 +0000 (19:27 +1000)]
Merge pull request #62696 from anthonyeleven/mgr-prom

doc/mgr: Improve prometheus.rst

Reviewed-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge PR #62577 into main
Venky Shankar [Wed, 23 Apr 2025 09:16:03 +0000 (14:46 +0530)]
Merge PR #62577 into main

* refs/pull/62577/head:
libcephfs_proxy: avoid libc buffering for logging

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
2 months agoMerge branch 'main' into mgr-prom 62696/head
Zac Dover [Wed, 23 Apr 2025 09:15:19 +0000 (19:15 +1000)]
Merge branch 'main' into mgr-prom

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 months agoqa: test 'journal import' recognizes invalid headers post journal recovery 60731/head
Jos Collin [Tue, 11 Feb 2025 10:45:51 +0000 (16:15 +0530)]
qa: test 'journal import' recognizes invalid headers post journal recovery

Fixes: https://tracker.ceph.com/issues/68954
Signed-off-by: Jos Collin <jcollin@redhat.com>
2 months agocephfs-journal-tool: check the headers in dump file after journal recovery
Jos Collin [Thu, 14 Nov 2024 05:12:18 +0000 (10:42 +0530)]
cephfs-journal-tool: check the headers in dump file after journal recovery

Fixes: https://tracker.ceph.com/issues/68954
Signed-off-by: Jos Collin <jcollin@redhat.com>
2 months agodoc/mgr: Improve prometheus.rst
Anthony D'Atri [Mon, 7 Apr 2025 03:03:53 +0000 (23:03 -0400)]
doc/mgr: Improve prometheus.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 months agoMerge pull request #62911 from bluikko/doc-cleanup-radosgw
Anthony D'Atri [Wed, 23 Apr 2025 03:25:27 +0000 (23:25 -0400)]
Merge pull request #62911 from bluikko/doc-cleanup-radosgw

doc/radosgw: Fix indentation in admin.rst

2 months agoMerge pull request #62896 from zdover23/wip-doc-2025-04-21-revert-62782-c4f0f8e
Zac Dover [Tue, 22 Apr 2025 23:31:21 +0000 (09:31 +1000)]
Merge pull request #62896 from zdover23/wip-doc-2025-04-21-revert-62782-c4f0f8e

doc: Revert "doc/mgr: Promptify CLI commands and other formatting fixes"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agodoc/rados/operations/health-checks: Add MON_NETSPLIT Warning 59248/head
Kamoltat Sirivadhna [Fri, 23 Aug 2024 20:24:36 +0000 (20:24 +0000)]
doc/rados/operations/health-checks: Add MON_NETSPLIT Warning

Fixes: https://tracker.ceph.com/issues/67371
Signed-off-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
2 months agoHealthMonitor: Add topology-aware netsplit detection and warning
Kamoltat Sirivadhna [Thu, 15 Aug 2024 20:25:43 +0000 (20:25 +0000)]
HealthMonitor: Add topology-aware netsplit detection and warning

Problem:
Currently, Ceph cannot detect and report network partitions (netsplits)
between monitors in different topology locations in a consolidated way.
While stretch mode can handle partitions through monitor elections,
users lack visibility into the topology-level view of network
disconnections, making troubleshooting difficult.

Solution:
This implementation adds a hierarchical netsplit detection mechanism that:
- Uses DirectedGraph structure for netsplit detection
- Maps monitor disconnections to relevant CRUSH topology levels
- Aggregates individual disconnections into location-level reports when appropriate
- Detects complete location-level netsplits when ALL monitors between locations
  cannot communicate
- Reports specific topology locations experiencing complete communication failures
- Falls back to individual monitor-level reporting for partial disconnections
- Handles monitors with missing location data gracefully
- Leverages HealthMonitor::check_for_mon_down to receive a set of down monitors,
  efficiently avoiding false netsplit reports for monitors already known to be down
- Implements smart filtering that correctly excludes down monitors from location-based
  analysis, ensuring accurate netsplit reporting at both individual and topology levels

The implementation produces user-friendly health warnings:
1. For complete location netsplits: "Netsplit detected between dc1 and dc2"
2. For individual monitor disconnections: "Netsplit detected between mon.a and mon.d"

Performance considerations:
- Time complexity: O(m²) where m is the number of monitors
- Space complexity: O(m²) for connection tracking
- Practical impact is minimal as monitor count is typically small (3-7)

Fixes: https://tracker.ceph.com/issues/67371
Signed-off-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
Conflicts:
src/mon/Elector.cc - Trivial Fix

2 months agoMerge pull request #62416 from kamoltat/wip-ksirivad-fix-connection-score
Laura Flores [Tue, 22 Apr 2025 21:05:44 +0000 (16:05 -0500)]
Merge pull request #62416 from kamoltat/wip-ksirivad-fix-connection-score

2 months agolibrbd: disallow "rbd trash mv" if image is in a group 62921/head
Ilya Dryomov [Wed, 16 Apr 2025 11:15:19 +0000 (13:15 +0200)]
librbd: disallow "rbd trash mv" if image is in a group

Removing an image that is a member of a group has always been
disallowed.  However, moving an image that is a member of a group to
trash is currently allowed and this is deceptive -- the only reason for
a user to move an image to trash should be the intent to remove it.

More importantly, group APIs operate in terms of image names -- there
are no corresponding variants that would operate in terms of image IDs.
For example, even though internally GroupImageSpec struct stores an
image ID, the public rbd_group_image_info_t struct insists on an image
name.  When rbd_group_image_list() encounters a trashed member image
(i.e. one that doesn't have a name), it just fails with ENOENT and no
listing gets produced at all until the offending image is restored from
trash.  Something like this can be very hard to debug for an average
user, so let's make rbd_trash_move() fail with EMLINK the same way as
rbd_remove() does in this scenario.

The one case where moving a member image to trash makes sense is live
migration where the source image gets trashed to be almost immediately
replaced by the destination image as part of preparing migration.

Fixes: https://tracker.ceph.com/issues/71026
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 months agopybind/rbd: add ImageMemberOfGroup exception
Ilya Dryomov [Mon, 21 Apr 2025 15:11:17 +0000 (17:11 +0200)]
pybind/rbd: add ImageMemberOfGroup exception

EMLINK is returned by rbd_remove() if the image is a member of a group.
Add a dedicated exception similar to ImageBusy or ImageHasSnapshots and
a test for it.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 months agorbd: don't print "image will expire at" message when trash_move() fails
Ilya Dryomov [Mon, 21 Apr 2025 14:52:02 +0000 (16:52 +0200)]
rbd: don't print "image will expire at" message when trash_move() fails

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 months agoMerge pull request #61212 from rishabh-d-dave/mgr-vol-count-clones
Rishabh Dave [Tue, 22 Apr 2025 15:51:52 +0000 (21:21 +0530)]
Merge pull request #61212 from rishabh-d-dave/mgr-vol-count-clones

mgr/vol: count number of ongoing clones in CloneProgressReporter...

Reviewed-by: Milind Changire <mchangir@redhat.com>
2 months agoMerge pull request #62870 from MaxKellermann/mds_includes
Max Kellermann [Tue, 22 Apr 2025 15:28:37 +0000 (17:28 +0200)]
Merge pull request #62870 from MaxKellermann/mds_includes

mds: include cleanup

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agocrimson: remove any assert_failure pre assert usages 62699/head
Matan Breizman [Mon, 21 Apr 2025 14:11:58 +0000 (14:11 +0000)]
crimson: remove any assert_failure pre assert usages

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimosn/common/errorator: cleanup assert_failure pre_assert
Matan Breizman [Mon, 21 Apr 2025 14:11:52 +0000 (14:11 +0000)]
crimosn/common/errorator: cleanup assert_failure pre_assert

Any usage should be replaced with a message that supports priniting the
error.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>