]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
32 hours agoMerge pull request #66581 from idryomov/wip-74168 main
Ilya Dryomov [Sat, 13 Dec 2025 18:45:51 +0000 (19:45 +0100)]
Merge pull request #66581 from idryomov/wip-74168

librbd: fix ExclusiveLock::accept_request() when !is_state_locked()

Reviewed-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
42 hours agoMerge pull request #66605 from ceph/fixes#2414677
anmolbabu [Sat, 13 Dec 2025 08:22:55 +0000 (13:52 +0530)]
Merge pull request #66605 from ceph/fixes#2414677

Fix the prometheus module crash

44 hours agoMerge pull request #66621 from bluikko/wip-doc-start-documenting-formatting
bluikko [Sat, 13 Dec 2025 06:48:07 +0000 (13:48 +0700)]
Merge pull request #66621 from bluikko/wip-doc-start-documenting-formatting

doc/start: Fix stray RST syntax in documenting-ceph.rst

2 days agoMerge pull request #66341 from cbodley/wip-73943
Casey Bodley [Fri, 12 Dec 2025 17:45:54 +0000 (12:45 -0500)]
Merge pull request #66341 from cbodley/wip-73943

qa/rgw/upgrade: exclude ceph-osd-classic/crimson on squid and tentacle

Reviewed-by: Oguzhan Ozmen <oozmen@bloomberg.net>
2 days agodoc/start: Fix stray RST syntax in documenting-ceph.rst 66621/head
Ville Ojamo [Fri, 12 Dec 2025 16:55:55 +0000 (23:55 +0700)]
doc/start: Fix stray RST syntax in documenting-ceph.rst

Remove stray single colons before literal text blocks.
Perhaps leftovers moving from :: to prompt blocks.

Remove double backticks used inside literal text.

Fix URL missing // in a link example and use HTTPS in it.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 days agoqa/rgw/upgrade: don't randomize distros 66341/head
Casey Bodley [Fri, 12 Dec 2025 16:49:57 +0000 (11:49 -0500)]
qa/rgw/upgrade: don't randomize distros

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 days agoqa/rgw/upgrade: exclude ceph-osd-classic/crimson on squid and tentacle
Casey Bodley [Thu, 20 Nov 2025 16:57:35 +0000 (11:57 -0500)]
qa/rgw/upgrade: exclude ceph-osd-classic/crimson on squid and tentacle

split packages for ceph-osd-classic and ceph-osd-crimson were added on
main, but don't exist on squid and tentacle. exclude these packages from
their install tasks

Fixes: https://tracker.ceph.com/issues/73943
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 days agoMerge pull request #66233 from benhanokh/dedup_ver
Gabriel Benhanokh [Fri, 12 Dec 2025 06:30:58 +0000 (08:30 +0200)]
Merge pull request #66233 from benhanokh/dedup_ver

rgw/dedup: Add support for RGW versions.

2 days agoMerge pull request #66188 from harriscr/ch_wip_qa_cbt_task
SrinivasaBharathKanta [Fri, 12 Dec 2025 03:31:59 +0000 (09:01 +0530)]
Merge pull request #66188 from harriscr/ch_wip_qa_cbt_task

qa: Use a more pythonic way to install CBT python requirements

3 days agoFix the prometheus module crash 66605/head
Anmol Babu [Thu, 11 Dec 2025 08:39:52 +0000 (14:09 +0530)]
Fix the prometheus module crash

fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2414677
Signed-off-by: Anmol Babu <Anmol.Babu@ibm.com>
3 days agoMerge pull request #66588 from rhcs-dashboard/task_74176
Afreen Misbah [Thu, 11 Dec 2025 06:09:10 +0000 (11:39 +0530)]
Merge pull request #66588 from rhcs-dashboard/task_74176

mgr/dashboard: where the alert page tag colors are not being applied

Reviewed-by: Afreen Misbah <afreen@ibm.com>
3 days agoMerge pull request #66547 from Hezko/fix-nvme-cert-name
Afreen Misbah [Thu, 11 Dec 2025 03:37:12 +0000 (09:07 +0530)]
Merge pull request #66547 from Hezko/fix-nvme-cert-name

mgr/dashboard: fix nvme certificate name

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 days agoMerge pull request #66394 from elliotcourant/fix/debian-post-install-home
Kefu Chai [Thu, 11 Dec 2025 03:26:36 +0000 (11:26 +0800)]
Merge pull request #66394 from elliotcourant/fix/debian-post-install-home

deb/cephadm: Don't assume a home directory is configured

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
4 days agoMerge pull request #66134 from rzarzynski/wip-pc-humanreadable-prio
Yuri Weinstein [Wed, 10 Dec 2025 23:01:12 +0000 (15:01 -0800)]
Merge pull request #66134 from rzarzynski/wip-pc-humanreadable-prio

common/perf_counters: don't use magics for add_u64_counter{,_histogram}

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 days agodeb/cephadm: Don't assume a home directory is configured 66394/head
Elliot Courant [Mon, 24 Nov 2025 17:50:56 +0000 (11:50 -0600)]
deb/cephadm: Don't assume a home directory is configured

cephadm.postinst can fail if cephadm was originally installed using a
version that didn't configure a home directory for the user at all.
Newer versions do configure a home directory (as either `/home/cephadm`
or `/var/lib/cephadm`) so if that is configured then nothing needs to be
done. But if the user was created with no home directory then one needs
to be added for the configure step to succeed.

Fixes: https://tracker.ceph.com/issues/72083
commit 90bc0369243077c2aaf67f0de2bab5810b217f4e added home directories
for new cephadm users created, but didn't add home directories to
cephadm users that already existed.

Signed-off-by: Elliot Courant <me@elliotcourant.dev>
4 days agoMerge pull request #66574 from anoopcs9/whitespace-for-smb-login-names
Adam King [Wed, 10 Dec 2025 16:34:46 +0000 (11:34 -0500)]
Merge pull request #66574 from anoopcs9/whitespace-for-smb-login-names

mgr/smb: Allow whitespace in share login names

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
4 days agomgr/dashboard: where the alert page tag colors are not being applied 66588/head
pujashahu [Wed, 10 Dec 2025 10:57:46 +0000 (16:27 +0530)]
mgr/dashboard: where the alert page tag colors are not being applied

Fixes: https://tracker.ceph.com/issues/74176
Signed-off-by: pujashahu <pshahu@redhat.com>
4 days agoMerge pull request #66516 from rhcs-dashboard/74078-host-labels-removed-fix
Afreen Misbah [Wed, 10 Dec 2025 10:04:10 +0000 (15:34 +0530)]
Merge pull request #66516 from rhcs-dashboard/74078-host-labels-removed-fix

mgr/dashboard :  Fixed labels issue

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 days agoMerge pull request #66528 from tchaikov/wip-debian-deps-c-v
Guillaume Abrioux [Wed, 10 Dec 2025 09:01:19 +0000 (10:01 +0100)]
Merge pull request #66528 from tchaikov/wip-debian-deps-c-v

debian/control: record python3-packaging dependency for ceph-volume

4 days agomgr/smb: Allow whitespace in share login names 66574/head
Anoop C S [Tue, 9 Dec 2025 13:37:40 +0000 (19:07 +0530)]
mgr/smb: Allow whitespace in share login names

Whitespaces are perfectly valid in Windows AD user or group names.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
4 days agoMerge pull request #66249 from thotz/adminops-restore-op
Jiffin Tony Thottan [Wed, 10 Dec 2025 06:41:09 +0000 (12:11 +0530)]
Merge pull request #66249 from thotz/adminops-restore-op

rgw/adminops: support for adding restore operation

4 days agoMerge pull request #54435 from dparmar18/libcephfs-nonblocking-io-testcases
Venky Shankar [Wed, 10 Dec 2025 04:38:45 +0000 (10:08 +0530)]
Merge pull request #54435 from dparmar18/libcephfs-nonblocking-io-testcases

src/test: add libcephfs tests for async(nonblocking) calls

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 days agoMerge pull request #66404 from tchaikov/wip-bwc-with-more-branch-names
Kefu Chai [Wed, 10 Dec 2025 03:21:54 +0000 (11:21 +0800)]
Merge pull request #66404 from tchaikov/wip-bwc-with-more-branch-names

script: sanitize git branch names for OCI tag compliance

Reviewed-by: John Mulligan <jmulligan@redhat.com>
5 days agolibrbd: fix ExclusiveLock::accept_request() when !is_state_locked() 66581/head
Ilya Dryomov [Tue, 9 Dec 2025 14:22:02 +0000 (15:22 +0100)]
librbd: fix ExclusiveLock::accept_request() when !is_state_locked()

To accept an async request, two conditions must be met: a) exclusive
lock must be a firm STATE_LOCKED state and b) async requests shouldn't
be blocked or if they are blocked there should be an exception in place
for a given request_type.  If a) is met but b) isn't, ret_val is set
to m_request_blocked_ret_val, as expected -- the reason for denying
the request is that async requests are blocked.  However, if a) isn't
met, ret_val also gets set to m_request_blocked_ret_val.  This is wrong
because the reason for denying the request in this case isn't that
async requests are blocked (they may or may not be) but a much heavier
circumstance of exclusive lock being in a transient state or not held
at all.

In such scenarios, whether async requests are blocked or not isn't
relevant and ExclusiveLock::accept_request() behaving otherwise can
lead to bogus "duplicate lock owners detected" errors getting raised
during an attempt to handle any maintenance operation notification in
ImageWatcher::handle_operation_request().  This error isn't considered
retryable so the entire operation that needed the exclusive lock would
be spuriously failed with EINVAL.

Fixes: https://tracker.ceph.com/issues/74168
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
5 days agolibrbd: add ExclusiveLock::accept_request() overload
Ilya Dryomov [Sat, 6 Dec 2025 08:32:08 +0000 (09:32 +0100)]
librbd: add ExclusiveLock::accept_request() overload

Make ret_val out parameter required for the existing method and
introduce an overload taking just request_type to compensate.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
5 days agoMerge pull request #66533 from imran-imtiaz/dashboard
Imran Imtiaz [Tue, 9 Dec 2025 14:02:18 +0000 (14:02 +0000)]
Merge pull request #66533 from imran-imtiaz/dashboard

mgr/dashboard: add API endpoint for consistency group name update

5 days agomgr/dashboard : Fixed labels issue 66516/head
Abhishek Desai [Thu, 4 Dec 2025 17:17:59 +0000 (22:47 +0530)]
mgr/dashboard :  Fixed labels issue
fixes : https://tracker.ceph.com/issues/74078
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
5 days agoMerge pull request #66506 from Matan-B/wip-matanb-crimson-seastore-extent-race-v3
Matan Breizman [Tue, 9 Dec 2025 12:43:02 +0000 (14:43 +0200)]
Merge pull request #66506 from Matan-B/wip-matanb-crimson-seastore-extent-race-v3

crimson/os/seastore/cache: Verify crc prior to complete_io

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
5 days agorgw/radosgw-admin.cc: use new apis for admin cli command 66249/head
Jiffin Tony Thottan [Mon, 17 Nov 2025 12:34:50 +0000 (18:04 +0530)]
rgw/radosgw-admin.cc: use new apis for admin cli command

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
5 days agorgw/adminops: support for adding restore operation
Jiffin Tony Thottan [Thu, 9 Oct 2025 13:43:52 +0000 (19:13 +0530)]
rgw/adminops: support for adding restore operation

Adding support for restore cli in admin ops, added existing clis list and statusw

Fixes: https://tracker.ceph.com/issues/70931
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
5 days agoMerge pull request #65689 from VallariAg/wip-listener-mon-cmd
Vallari Agrawal [Tue, 9 Dec 2025 07:25:12 +0000 (12:55 +0530)]
Merge pull request #65689 from VallariAg/wip-listener-mon-cmd

mon: Add command "nvme-gw listeners"

5 days agominor changes requested by reviewer 66233/head
Gabriel BenHanokh [Mon, 24 Nov 2025 10:03:18 +0000 (10:03 +0000)]
minor changes requested by reviewer

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
5 days agorgw/dedup: Add support for RGW versions.
Gabriel BenHanokh [Thu, 13 Nov 2025 10:02:01 +0000 (10:02 +0000)]
rgw/dedup: Add support for RGW versions.
Dedup code will scan all instances of versioned objects and include them
in the dedup process

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
5 days agoMerge pull request #66549 from tchaikov/wip-cpp-btree-silence-warnings
Kefu Chai [Tue, 9 Dec 2025 05:09:15 +0000 (13:09 +0800)]
Merge pull request #66549 from tchaikov/wip-cpp-btree-silence-warnings

include/cpp-btree: fix array bounds warning in child() accessors

Reviewed-by: Edwin Rodriguez <edwin.rodriguez1@ibm.com>
5 days agoMerge pull request #66562 from Germano0/manual-deployment.osd
bluikko [Tue, 9 Dec 2025 04:43:28 +0000 (11:43 +0700)]
Merge pull request #66562 from Germano0/manual-deployment.osd

doc: add ceph.conf in osd creation

6 days agodoc: add ceph.conf in osd creation 66562/head
Germano Massullo (Thetra) [Tue, 9 Dec 2025 00:23:31 +0000 (01:23 +0100)]
doc: add ceph.conf in osd creation

Signed-off-by: Germano Massullo (Thetra) <germano.massullo@thetra.eu>
6 days agoMerge pull request #66304 from NitzanMordhai/wip-nitzan-objecter-osdmap-request-override
SrinivasaBharathKanta [Mon, 8 Dec 2025 22:49:46 +0000 (04:19 +0530)]
Merge pull request #66304 from NitzanMordhai/wip-nitzan-objecter-osdmap-request-override

Objecter: respect higher epoch subscription in tick

6 days agoMerge pull request #66560 from anthonyeleven/arminfo
Anthony D'Atri [Mon, 8 Dec 2025 22:22:30 +0000 (17:22 -0500)]
Merge pull request #66560 from anthonyeleven/arminfo

doc/start: Add ARM support note to hardware-recommendations.rst

6 days agodoc/start: Add ARM support note to hardware-recommendations.rst 66560/head
Anthony D'Atri [Mon, 8 Dec 2025 19:48:58 +0000 (14:48 -0500)]
doc/start: Add ARM support note to hardware-recommendations.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
6 days agoMerge pull request #66020 from bluikko/doc-conf-auth-config-ref-links-rados
Ilya Dryomov [Mon, 8 Dec 2025 19:10:26 +0000 (20:10 +0100)]
Merge pull request #66020 from bluikko/doc-conf-auth-config-ref-links-rados

doc: Use validated links with ref instead of external links

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
6 days agocrimson/os/seastore/lba_mapping: Introduce co_refresh 66506/head
Matan Breizman [Mon, 8 Dec 2025 12:54:36 +0000 (12:54 +0000)]
crimson/os/seastore/lba_mapping: Introduce co_refresh

See comment:
```
  //TODO: should be changed to return future<> once all calls
  //   to refresh are through co_await. We return LBAMapping
  //   for now to avoid mandating the callers to make sure
  //   the life of the lba mapping survives the refresh.
```

For now introduce co_refresh and mark the existing refresh as
deprecated. Following work will audit all the existing users of
refresh and move them to the new method. This change is not trivial
so I prefer to follow up on this as a separate PR.

This should help avoiding UAR in suspension points:
```
==103588==ERROR: AddressSanitizer: stack-use-after-return on address 0xffff80197e90 at pc 0xaaaacb941b24 bp 0xffff7e48dd80 sp 0xffff7e48dd78
READ of size 8 at 0xffff80197e90 thread T1
    #0 0xaaaacb941b20 in boost::intrusive_ptr<crimson::os::seastore::LBACursor>::swap(boost::intrusive_ptr<crimson::os::seastore::LBACursor>&) /opt/ceph/include/boost/smart_ptr/intrusive_ptr.hpp:172:18
    #1 0xaaaacb941998 in boost::intrusive_ptr<crimson::os::seastore::LBACursor>::operator=(boost::intrusive_ptr<crimson::os::seastore::LBACursor>&&) /opt/ceph/include/boost/smart_ptr/intrusive_ptr.hpp:93:61
    #2 0xaaaacb933758 in crimson::os::seastore::LBAMapping::operator=(crimson::os::seastore::LBAMapping&&) /ceph/src/crimson/os/seastore/lba_mapping.h:46:48
    #3 0xaaaacde2fa54 in ... crimson::os::seastore::LBAMapping&&, std::array<crimson::os::seastore::LBAManager::remap_entry_t, 1ul>) (.resume) /ceph/src/crimson/os/seastore/transaction_manager.h:1282:11
```

Deprecate is commented out since otherwise make check would fail.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/cache: Verify crc prior to complete_io
Matan Breizman [Sun, 7 Dec 2025 10:36:28 +0000 (10:36 +0000)]
crimson/os/seastore/cache: Verify crc prior to complete_io

Calling check_full_extent_integrity in pin_to_extent is wrong.
By the time we partially read the extent, another transaction
might fully load the entire extent. Either by a full_extent read
or by filling the missing unloaded extent gap.
This would result in veryfing the extent crc since it's fully
loaded. However, since the extent was only partially read our
data (and crc) might be outdated.
Instead move the crc checks to read_extent prior to complete_io.
That way we would only check the crc when the extent was intended to
be fully loaded. Other users of read_extent which do not use pin_crc
(CRC_NULL), would skip this check.

Fixes: https://tracker.ceph.com/issues/73790
Fixes: https://tracker.ceph.com/issues/72864
Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/cache: get_absent_extent to accept pin_crc
Matan Breizman [Sun, 7 Dec 2025 10:31:41 +0000 (10:31 +0000)]
crimson/os/seastore/cache: get_absent_extent to accept pin_crc

Allow pin_to_extent_by_type and pin_to_extent to pass the pin CRC.
As get_absent_extent and read_extent has other users which are not
pin_to_extent - use CRC_NULL as the default value.
This change would allow us to move the integrity checks to _read_extent.
See next commit.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/transaction_manager: add logs pin_to_extent
Matan Breizman [Sun, 7 Dec 2025 10:13:08 +0000 (10:13 +0000)]
crimson/os/seastore/transaction_manager: add logs pin_to_extent

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/transaction_manager: pin_to_extent_by_type into
Matan Breizman [Sun, 7 Dec 2025 10:07:17 +0000 (10:07 +0000)]
crimson/os/seastore/transaction_manager: pin_to_extent_by_type into
coroutines

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/transaction_manager: pin_to_extent into coroutines
Matan Breizman [Sun, 7 Dec 2025 10:03:58 +0000 (10:03 +0000)]
crimson/os/seastore/transaction_manager: pin_to_extent into coroutines

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/transaction_manager: add logs to remap_pin
Matan Breizman [Sun, 7 Dec 2025 15:15:29 +0000 (15:15 +0000)]
crimson/os/seastore/transaction_manager: add logs to remap_pin

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/transaction_manager: remap_pin into coroutines
Matan Breizman [Sun, 7 Dec 2025 14:51:44 +0000 (14:51 +0000)]
crimson/os/seastore/transaction_manager: remap_pin into coroutines

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agoMerge pull request #66070 from samarahu/rgw-d4n-unit-test-fix
Samarah Uriarte [Mon, 8 Dec 2025 14:32:35 +0000 (08:32 -0600)]
Merge pull request #66070 from samarahu/rgw-d4n-unit-test-fix

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
6 days agoinclude/cpp-btree: fix array bounds warning in child() accessors 66549/head
Kefu Chai [Mon, 8 Dec 2025 08:29:00 +0000 (16:29 +0800)]
include/cpp-btree: fix array bounds warning in child() accessors

Replace array indexing with pointer arithmetic in child() and
mutable_child() methods to avoid compiler warning when accessing
child nodes beyond the static array bounds.

The original code was functionally correct but triggered
-Warray-bounds when accessing mutable_child(32) during btree
operations. Using pointer arithmetic achieves the same result
without the bounds check warning.

This is a follow-up to commit 8458a19ab which fixed similar
warnings in other btree_node methods.

No functional changes.

Fixes: https://tracker.ceph.com/issues/72477
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
6 days agomgr/dashboard: fix nvme certificate name 66547/head
Tomer Haskalovitch [Thu, 4 Dec 2025 20:24:36 +0000 (22:24 +0200)]
mgr/dashboard: fix nvme certificate name

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
6 days agoMerge pull request #66402 from afreen23/remove-ng
Afreen Misbah [Mon, 8 Dec 2025 10:03:05 +0000 (15:33 +0530)]
Merge pull request #66402 from afreen23/remove-ng

mgr/dashboard: Remove ng script

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
6 days agoMerge pull request #62002 from mohit84/crimson_mclock_1
Matan Breizman [Mon, 8 Dec 2025 09:40:59 +0000 (11:40 +0200)]
Merge pull request #62002 from mohit84/crimson_mclock_1

crimson: Support mclock for crimson

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 days agocrimson/os/seastore/transaction_manager: Move CRC_NULL checks
Matan Breizman [Sun, 7 Dec 2025 09:53:03 +0000 (09:53 +0000)]
crimson/os/seastore/transaction_manager: Move CRC_NULL checks

check_full_extent_integrity would allow for CRC_NULL (0) checksums
when `full_extent_integrity_check` was false. Instead, move this
check as an assertiion into TransactionManager::read_pin.

This would allow us to reuse CRC_NULL concept for more purposes e.g
skipping integrity checks when no CRC is passed (next commits).

Note: With this change check_full_extent_integrity could be called
      only on non CRC_NULL, the check would be moved in next commits.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 days agoscript: sanitize git branch names for OCI tag compliance 66404/head
Kefu Chai [Tue, 25 Nov 2025 11:02:32 +0000 (19:02 +0800)]
script: sanitize git branch names for OCI tag compliance

Git branch names commonly use forward slashes for hierarchy
(e.g., feature/my-branch), but OCI container image tags cannot
contain slashes. This causes build-with-container.py to fail when
building images from branches with slashes in their names.

Add _sanitize_for_oci_tag() function to convert branch names into
OCI-compliant tags by:
- Replacing '/' with '-'
- Replacing other invalid characters with '_'
- Stripping leading invalid characters
- Truncating to 128 characters (OCI tag max length)

Apply sanitization consistently to both auto-detected branches
and manually specified --current-branch arguments.

Fixes branch name handling for pull request branches and other
hierarchical naming schemes.

References:
- OCI Image Spec: tags must match [a-zA-Z0-9_][a-zA-Z0-9._-]{0,127}
  https://github.com/opencontainers/image-spec/blob/main/descriptor.md
- Git allows '/' in branch names for hierarchical organization
  https://git-scm.com/docs/git-check-ref-format
  https://docs.github.com/en/get-started/using-git/dealing-with-special-characters-in-branch-and-tag-names

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
6 days agoMerge pull request #65729 from tchaikov/cmake-link-ceph-common
Kefu Chai [Mon, 8 Dec 2025 07:38:31 +0000 (15:38 +0800)]
Merge pull request #65729 from tchaikov/cmake-link-ceph-common

cmake: convert erasure_code and json_spirit to OBJECT libraries

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
6 days agodoc: Use validated links with ref instead of external links 66020/head
Ville Ojamo [Wed, 22 Oct 2025 07:19:31 +0000 (14:19 +0700)]
doc: Use validated links with ref instead of external links

Use :ref: for intra-docs links that are validated, instead of external
links.
Only use already existing labels.
Fixes a few anchors that pointed to now-renamed section titles.
Use automatically generated link text where appropriate.
Delete unused link definitions.

Mostly in doc/rados/ but also a few in doc/rbd/.
Try to fix all links in each of the changed documents.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
6 days agoMerge pull request #66489 from joscollin/wip-drop-double-check
Venky Shankar [Mon, 8 Dec 2025 04:34:42 +0000 (10:04 +0530)]
Merge pull request #66489 from joscollin/wip-drop-double-check

mds: drop checking CEPH_MDS_OP_SETLAYOUT two times

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
7 days agocrimson/os/seastore: Introduce check_full_extent_integrity helper
Matan Breizman [Wed, 3 Dec 2025 13:02:27 +0000 (13:02 +0000)]
crimson/os/seastore: Introduce check_full_extent_integrity helper

This is an intermediate step to move the crc checks to Cache logic.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
7 days agoMerge pull request #66158 from xxhdx1985126/wip-seastore-minor-perf-issue
Matan Breizman [Sun, 7 Dec 2025 08:16:57 +0000 (10:16 +0200)]
Merge pull request #66158 from xxhdx1985126/wip-seastore-minor-perf-issue

crimson/os/seastore/epm: avoid unnecessary container copies

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
8 days agocmake: convert erasure_code and json_spirit to OBJECT libraries 65729/head
Kefu Chai [Tue, 30 Sep 2025 10:38:31 +0000 (18:38 +0800)]
cmake: convert erasure_code and json_spirit to OBJECT libraries

This resolves a circular dependency issue where ceph-common was linked
against erasure_code and json_spirit static libraries, while these
libraries themselves referenced symbols from ceph-common, creating an
unresolvable circular dependency. The static libraries were incorrectly
marked PUBLIC, causing executables linking against ceph-common to also
link against them directly.

The circular dependency manifested as linker errors in tests like
ceph_test_ino_release_cb, where libjson_spirit.a and liberasure_code.a
contained undefined references to ceph-common symbols (e.g.,
ceph::__ceph_assert_fail and get_str_list) that couldn't be resolved
due to the linking order.

For instance, ceph_test_ino_release_cb failed to link:
```
/usr/bin/ld: ../../../lib/libcephfs.so.2.0.0: undefined reference to symbol '_ZN4ceph18__ceph_assert_failERKNS_11assert_dataE'
/usr/bin/ld: ../../../lib/libceph-common.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
```

Changes:

- Convert erasure_code and json_spirit from STATIC to OBJECT libraries
- Embed their object files directly into ceph-common during linking,
  breaking the circular dependency and preventing public propagation
  of these dependencies to downstream targets
- Remove direct linkage from targets that already get these symbols
  through ceph-common dependencies:
  * Erasure code unit tests (unittest_erasure_code_isa,
    unittest_erasure_code_plugin_isa, unittest_erasure_code_example)
  * Test libraries (radostest)
  * Plugins (denc-mod-osd, cls_refcount, cls_rgw, cls_lua, ec_lrc)

This also prevents ODR violations that would occur if targets linked
against these libraries directly while also getting them from
ceph-common. Such violations cause undefined behavior including
segmentation faults, as static variables and vtables would exist in
duplicate, leading to crashes during destruction or when accessing
shared state.

For example, before removing direct linkage from plugins, ceph-dencoder
would segfault on certain object types:

  /ceph/src/test/encoding/readable.sh: line 111: Segmentation fault
  $CEPH_DENCODER type ScrubMap import ... decode encode decode dump_json

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
9 days agomgr/dashboard: add API endpoint for consistency group name update 66533/head
Imran Imtiaz [Fri, 5 Dec 2025 08:46:40 +0000 (08:46 +0000)]
mgr/dashboard: add API endpoint for consistency group name update

Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>
Fixes: https://tracker.ceph.com/issues/74121
Add a dashboard API endpoint to update (rename) consistency groups.

9 days agodebian/control: record python3-packaging dependency for ceph-volume 66528/head
Thomas Lamprecht [Wed, 31 Jul 2024 07:48:08 +0000 (09:48 +0200)]
debian/control: record python3-packaging dependency for ceph-volume

Commit 0985e201 added `from packaging import version` to
ceph_volume/util/encryption.py. On Debian and its derivatives, the
packaging module is provided by the python3-packaging package.

Add python3-packaging to ceph-volume's runtime dependencies to ensure
this import is satisfied.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Max R. Carrara <m.carrara@proxmox.com>
10 days agoMerge pull request #66406 from Matan-B/wip-matanb-crimson-seastore-txn-logs
Matan Breizman [Thu, 4 Dec 2025 10:37:31 +0000 (12:37 +0200)]
Merge pull request #66406 from Matan-B/wip-matanb-crimson-seastore-txn-logs

crimson/os/seastore: fix do_transaction_no_callbacks logs

Reviewed-by: Samuel Just <sjust@redhat.com>
10 days agoMerge pull request #64222 from tchaikov/wip-ec-log
Kefu Chai [Thu, 4 Dec 2025 10:33:03 +0000 (18:33 +0800)]
Merge pull request #64222 from tchaikov/wip-ec-log

common/plugin: fix spacing in plugin load error message

Reviewed-by: Matan Breizman <mbreizma@ibm.com>
11 days agoMerge pull request #65274 from ifed01/wip-ifed-more-max-lat
Igor Fedotov [Wed, 3 Dec 2025 14:46:08 +0000 (17:46 +0300)]
Merge pull request #65274 from ifed01/wip-ifed-more-max-lat

os/bluestore: track max latencies for key bluestore/bluefs perf counters

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
11 days agosrc/test/crimson/CMakeLists: include dmclock 62002/head
Mohit Agrawal [Thu, 6 Nov 2025 12:52:23 +0000 (18:22 +0530)]
src/test/crimson/CMakeLists: include dmclock

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agocrimson/CMakeLists.txt: include dmclock
Mohit Agrawal [Mon, 28 Jul 2025 14:44:47 +0000 (20:14 +0530)]
crimson/CMakeLists.txt: include dmclock

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agocrimson/mclock_scheduler: Support mclock for crimson
Mohit Agrawal [Mon, 28 Jul 2025 13:25:41 +0000 (18:55 +0530)]
crimson/mclock_scheduler: Support mclock for crimson

The patch is trying to sync mclock source of crimson similar to
classic osds. Currently the feature is use by crimson only for
background recovery operations but later we will use it for other
OSD operations also.To use the same user need to configure
crimson_osd_scheduler_concurrency parameter for osd.

Replace item_t with WorkItem variant to maintain similarity
with classic OSD.

Introduce cost and priority as part of item_t.

Fixes: https://tracker.ceph.com/issues/67367
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agocrimson/background_recovery: switch to unified SchedulerClass and introduce get_avera...
Mohit Agrawal [Mon, 28 Jul 2025 13:19:14 +0000 (18:49 +0530)]
crimson/background_recovery: switch to unified SchedulerClass and introduce get_average_object_size for pg

1)  Replace usage of crimson::osd::scheduler::scheduler_class_t
    with unified SchedulerClass
2) Add priority to scheduler params structure
3) Introduce get_average_object_size for pg

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agocrimson/osd: Refactor crimson scheduler wrapper
Mohit Agrawal [Mon, 28 Jul 2025 13:03:38 +0000 (18:33 +0530)]
crimson/osd: Refactor crimson scheduler wrapper

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agocrimson/osd,osd_operation: initialize mClock scheduler, detect rotational devices...
Mohit Agrawal [Mon, 28 Jul 2025 12:48:57 +0000 (18:18 +0530)]
crimson/osd,osd_operation: initialize mClock scheduler, detect rotational devices, and run OperationThrottler background task

Initialize the mClock scheduler on all shards when the device class
is non-rotational. If the device is rotational throw an exception
to prevent unsupported configurations.

In addition, introduce a background task in OperationThrottler that
continuously dequeues and schedules client requests from the mClock
scheduler based on available credits and throttling limits.

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agocommon/mclock_common: Declared MonClient for crimson in mclock_common
Mohit Agrawal [Mon, 28 Jul 2025 12:08:07 +0000 (17:38 +0530)]
common/mclock_common: Declared MonClient for crimson in mclock_common

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
11 days agoMerge pull request #66453 from aainscow/lrc_fix
NitzanMordhai [Wed, 3 Dec 2025 09:55:59 +0000 (11:55 +0200)]
Merge pull request #66453 from aainscow/lrc_fix

osd: Perform shard look up correctly in partial EC writes

11 days agoMerge pull request #66384 from bill-scales/issue72879
NitzanMordhai [Wed, 3 Dec 2025 09:54:19 +0000 (11:54 +0200)]
Merge pull request #66384 from bill-scales/issue72879

Fix teuthology timeout issues with bluestore software compression and improve thread heartbeat timeout code

11 days agoMerge PR #66093 into main
Venky Shankar [Wed, 3 Dec 2025 06:40:18 +0000 (12:10 +0530)]
Merge PR #66093 into main

* refs/pull/66093/head:

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Reviewed-by: Shwetha Acharya <sacharya@redhat.com>
12 days agomds: drop checking CEPH_MDS_OP_SETLAYOUT two times 66489/head
Jos Collin [Tue, 2 Dec 2025 12:58:13 +0000 (18:28 +0530)]
mds: drop checking CEPH_MDS_OP_SETLAYOUT two times

Signed-off-by: Jos Collin <jcollin@redhat.com>
12 days agocrimson/os/seastore: fix do_transaction_no_callbacks logs 66406/head
Matan Breizman [Tue, 25 Nov 2025 10:50:43 +0000 (10:50 +0000)]
crimson/os/seastore: fix do_transaction_no_callbacks logs

See: https://tracker.ceph.com/issues/73978#note-1

errors in do_transaction_no_callbacks fail with vague abort message
showing only the transaction dump.
Instead, add meaningful abort message with the actual error and method.

This could be replaced by assert_all_func, though we would likely
rewrite this method soon.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
13 days agoqa/d4n: Update host checks 66070/head
Samarah [Tue, 18 Nov 2025 16:21:40 +0000 (16:21 +0000)]
qa/d4n: Update host checks

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
13 days agotest/d4n: Add temporary eviction testing
Samarah [Mon, 24 Nov 2025 20:14:13 +0000 (20:14 +0000)]
test/d4n: Add temporary eviction testing

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
13 days agorgw/d4n: Add yield parameter to get_free_space
Samarah Uriarte [Mon, 27 Oct 2025 21:35:45 +0000 (16:35 -0500)]
rgw/d4n: Add yield parameter to get_free_space

Signed-off-by: Samarah Uriarte <samarah.uriarte@ibm.com>
13 days agomgr/dashboard: add API endpoint to delete images from consistency groups 66461/head
Imran Imtiaz [Mon, 1 Dec 2025 14:25:07 +0000 (14:25 +0000)]
mgr/dashboard: add API endpoint to delete images from consistency groups

Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>
Fixes: https://tracker.ceph.com/issues/74033
Create a consistency group dashboard API endpoint that enables removal
of RBD images from the group.

13 days agoMerge pull request #66436 from rhcs-dashboard/add-sagar--to-mailmap-githubmap-organiz...
afreen23 [Mon, 1 Dec 2025 09:29:57 +0000 (14:59 +0530)]
Merge pull request #66436 from rhcs-dashboard/add-sagar--to-mailmap-githubmap-organizationmap

add Sagar Gopale to githubmap mailmap organizationmap

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
13 days agoMerge pull request #65433 from mohit84/repeer_on_acting
SrinivasaBharathKanta [Mon, 1 Dec 2025 09:27:14 +0000 (14:57 +0530)]
Merge pull request #65433 from mohit84/repeer_on_acting

test: repeer_on_down_acting_member_coming_back is continuously failing

2 weeks agoosd: Perform shard look up correctly in partial EC writes 66453/head
Alex Ainscow [Fri, 28 Nov 2025 14:33:13 +0000 (14:33 +0000)]
osd: Perform shard look up correctly in partial EC writes

Plugins are permitted to provide a mapping to change the order in which OSDs
are used. In practice only LRC does this and it is not currently enabled
with optimisations, so this is a theoretical bug.

The bug here was that the "first" shard was assumed to be shard_id_t(0).  However,
this is not true for LRC.

Fixes: https://tracker.ceph.com/issues/74016
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoMerge pull request #65771 from aainscow/ec_direct_reads_pr_1
Alex Ainscow [Thu, 27 Nov 2025 23:17:37 +0000 (23:17 +0000)]
Merge pull request #65771 from aainscow/ec_direct_reads_pr_1

EC Direct Reads: First PR, background work

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoMerge pull request #66377 from baum/rbd_aio_write_with_crc32c_initial_fix
Ilya Dryomov [Thu, 27 Nov 2025 22:58:38 +0000 (23:58 +0100)]
Merge pull request #66377 from baum/rbd_aio_write_with_crc32c_initial_fix

librbd: rbd_aio_write_with_crc32c store CRC32C with initial value -1 to match msgr2 validation

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 weeks agoqa: Reduce number of osd threads when using compression 66384/head
Bill Scales [Fri, 21 Nov 2025 10:06:22 +0000 (10:06 +0000)]
qa: Reduce number of osd threads when using compression

Smithi nodes used by teuthology tests have 8 CPU cores and typically run
4 OSD processes. When bluestore software compression is enabled the size
of the OSD thread pool needs to be reduced to 2 threads per OSD because
these threads can easily use 100% of a core. This avoids excessive
amounts of context switches, which leads to OSD threads timing out,
which causes the OSD to drop heartbeat pings and for the monitor to
temporarily mark it down. In extreme cases this can lead to PGs getting
stuck in repeated loops of peering until the teuthology test times out.

Context switches happen oppurtunistically at the end of system calls
so functions with lots of logging are some of the worst affected.

Fixes: https://tracker.ceph.com/issues/72879
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoosd: Restrict logging in MissingLoc::add_source_info
Bill Scales [Fri, 21 Nov 2025 10:38:44 +0000 (10:38 +0000)]
osd: Restrict logging in MissingLoc::add_source_info

add_source_info can generate an excessive amount of logging
if a PG has thousands of missing objects. When a system is
under load and threads are repeatedly context switching this
can lead to timeouts (tests showed this function taking up
to 10 seconds to execute with 99% of that time being in
logging calls where the thread was being pre-empted).
Stopping logging after the function has been running for
more than 0.5 seconds strikes a balance between providing
sufficient informtion to debug problems while providing
more stability when a system is heavily loaded.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoosd: Increase log level for listing missing list
Bill Scales [Fri, 21 Nov 2025 10:25:48 +0000 (10:25 +0000)]
osd: Increase log level for listing missing list

Logging the entire contents of a missing list can generate a
1M character log line when there are 8000 missing objects in a
PG. Other places in the code logging the missing list use debug
level 25 which is not enabled by default in teuthology tests.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoosd: reset_tp_timeout should reset timeout for all shards
Bill Scales [Mon, 24 Nov 2025 09:18:21 +0000 (09:18 +0000)]
osd: reset_tp_timeout should reset timeout for all shards

ShardedThreadPools are only used by the classic OSD process
which can have more than one thread for the same shard. Each
thread has a heartbeat timeout used to detect stalled threads.
Some code that is known to take a long time makes calls to
reset_tp_timeout to reset this timeout. However for sharded
pools this can be ineffective because it is common for threads
for the same shard to use the same locks (e.g. PG Lock) and
therefore if thread A is taking a long time and resetting
its timeout while holding a lock, thread B for the same shard
is liable to be waiting for the same lock, will not be
resetting its timeout and can be timed out.

Debug for issue 72879 showed heartbeat timeouts occurring at
the same time for both shards, an attempt to fix the problem
by calling reset_tp_timeout for the slow thread still showed
the other threads for the shard timing out waiting for the PG
lock that was held bythe slow thread. Looking at the OSD code
most places where reset_tp_timeout is called the thread is
holding the PG lock.

This commit moves the concept of shard_index from OSD into
ShardedThreadPool and modifies reset_tp_timeout so that it resets
the timeout for all threads for the same shard.

Some code calls reset_tp_timeout from inside loops that can take
a long time without consideration for how long the thread has
actually been running for. There is a risk that this type of
call could repeatedly reset the timeout for another shard which
is genuinely stuck and hence defeat the heartbeat checks. To
prevent this reset_tp_timeout is modified to be a NOP unless
the thread has been processing the current workitem for more
than 0.5 seconds. Therefore threads have to be slow but making
forward progress to be abe to reset the timeout.

Fixes: https://tracker.ceph.com/issues/72879
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoMerge pull request #65739 from tchaikov/rgw-gap-list-manpage
Kefu Chai [Thu, 27 Nov 2025 04:12:08 +0000 (12:12 +0800)]
Merge pull request #65739 from tchaikov/rgw-gap-list-manpage

debian: include rgw-gap-list manpage and rgw-policy-check in ceph-common

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@ibm.com>
2 weeks agoMerge pull request #66416 from bluikko/doc-fscrypt-improvements-cephfs
bluikko [Wed, 26 Nov 2025 13:51:41 +0000 (20:51 +0700)]
Merge pull request #66416 from bluikko/doc-fscrypt-improvements-cephfs

doc/cephfs: Small improvements in fscrypt.rst

2 weeks agoMerge pull request #66420 from bluikko/doc-sphinx-warnings-202511
bluikko [Wed, 26 Nov 2025 13:51:21 +0000 (20:51 +0700)]
Merge pull request #66420 from bluikko/doc-sphinx-warnings-202511

doc: Fix Sphinx warnings

2 weeks agoMerge pull request #66421 from bluikko/doc-sphinx-warning-tentacle-202511
bluikko [Wed, 26 Nov 2025 13:50:50 +0000 (20:50 +0700)]
Merge pull request #66421 from bluikko/doc-sphinx-warning-tentacle-202511

doc/releases: Fix Sphinx warning in tentacle.rst

2 weeks agoMerge pull request #66423 from bluikko/doc-sphinx-warning-theme-202511
bluikko [Wed, 26 Nov 2025 13:50:36 +0000 (20:50 +0700)]
Merge pull request #66423 from bluikko/doc-sphinx-warning-theme-202511

doc: Fix Sphinx warning about theme option

2 weeks agoosdc: Add SplitOp capability to Objecter 65771/head
Alex Ainscow [Tue, 14 Oct 2025 08:24:56 +0000 (09:24 +0100)]
osdc: Add SplitOp capability to Objecter

This will provide the ability for Objecter to split up
certain ops and distribute them to the OSDs directly if
that provides a preformance advantage.

This is experimental code and is switched off unless the
magic pool flags are enabled. These magic pool flags were
pushed in an earlier commit in the same PR.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Fix minor typo
Alex Ainscow [Mon, 13 Oct 2025 11:50:11 +0000 (12:50 +0100)]
osdc: Fix minor typo

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Interface to allow split reads to copy op from client op to split op
Alex Ainscow [Fri, 3 Oct 2025 14:34:55 +0000 (15:34 +0100)]
osdc: Interface to allow split reads to copy op from client op to split op

When spliting ops, certain addition sub ops (e.g. get xattr) can be simply passed
through to the child op.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Add stub for ability to force an op to always go to a particular shard
Alex Ainscow [Fri, 3 Oct 2025 14:32:22 +0000 (15:32 +0100)]
osdc: Add stub for ability to force an op to always go to a particular shard

This will eventually be used by SplitIo to direct ops to the correct OSD.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>