]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 weeks agomgr/dashboard: Add EC pools support to NVMEoF CLI 69126/head
Gil Bregman [Wed, 27 May 2026 13:14:36 +0000 (16:14 +0300)]
mgr/dashboard: Add EC pools support to NVMEoF CLI
Fixes: https://tracker.ceph.com/issues/76937
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
2 weeks agoMerge pull request #64293 from cbodley/wip-71265
Casey Bodley [Wed, 27 May 2026 13:08:45 +0000 (09:08 -0400)]
Merge pull request #64293 from cbodley/wip-71265

rgw: add s3control apis for account-wide PublicAccessBlock

Reviewed-by: Adam Emerson <aemerson@redhat.com>
2 weeks agoqa/tasks/cbt: construct venv just for cbt 67683/head
Patrick Donnelly [Wed, 27 May 2026 03:05:22 +0000 (23:05 -0400)]
qa/tasks/cbt: construct venv just for cbt

So we no longer need to install system-wide.

Avoids errors like on Ubuntu 24.04:

    2026-05-24T13:48:19.681 DEBUG:teuthology.orchestra.run.trial043:> python3 -m pip install -r /home/ubuntu/cephtest/cbt/requirements.txt
    2026-05-24T13:48:19.861 INFO:teuthology.orchestra.run.trial043.stderr:error: externally-managed-environment
    2026-05-24T13:48:19.861 INFO:teuthology.orchestra.run.trial043.stderr:
    2026-05-24T13:48:19.861 INFO:teuthology.orchestra.run.trial043.stderr:× This environment is externally managed
    2026-05-24T13:48:19.861 INFO:teuthology.orchestra.run.trial043.stderr:╰─> To install Python packages system-wide, try apt install
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    python3-xyz, where xyz is the package you are trying to
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    install.
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    If you wish to install a non-Debian-packaged Python package,
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    create a virtual environment using python3 -m venv path/to/venv.
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    sure you have python3-full installed.
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    If you wish to install a non-Debian packaged Python application,
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    it may be easiest to use pipx install xyz, which will manage a
    2026-05-24T13:48:19.862 INFO:teuthology.orchestra.run.trial043.stderr:    virtual environment for you. Make sure you have pipx installed.
    2026-05-24T13:48:19.863 INFO:teuthology.orchestra.run.trial043.stderr:
    2026-05-24T13:48:19.863 INFO:teuthology.orchestra.run.trial043.stderr:    See /usr/share/doc/python3.12/README.venv for more information.
    2026-05-24T13:48:19.863 INFO:teuthology.orchestra.run.trial043.stderr:
    2026-05-24T13:48:19.863 INFO:teuthology.orchestra.run.trial043.stderr:note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
    2026-05-24T13:48:19.863 INFO:teuthology.orchestra.run.trial043.stderr:hint: See PEP 668 for the detailed specification.
    2026-05-24T13:48:19.883 DEBUG:teuthology.orchestra.run:got remote process result: 1
    2026-05-24T13:48:19.883 ERROR:teuthology.run_tasks:Saw exception from tasks.
    Traceback (most recent call last):
      File "/home/teuthworker/src/git.ceph.com_teuthology_3686f8793d626abcf5a0018da0a50786e41fed9d/teuthology/run_tasks.py", line 112, in run_tasks
        manager.__enter__()
      File "/home/teuthworker/src/git.ceph.com_teuthology_3686f8793d626abcf5a0018da0a50786e41fed9d/teuthology/task/__init__.py", line 122, in __enter__
        self.setup()
      File "/home/teuthworker/src/github.com_ceph_ceph-c_1bc3c25246d3a6fbc360dc78d9b4b51200743391/qa/tasks/cbt.py", line 173, in setup
        self.install_dependencies()
      File "/home/teuthworker/src/github.com_ceph_ceph-c_1bc3c25246d3a6fbc360dc78d9b4b51200743391/qa/tasks/cbt.py", line 112, in install_dependencies
        self.first_mon.run(args=pip_install_cmd)
      File "/home/teuthworker/src/git.ceph.com_teuthology_3686f8793d626abcf5a0018da0a50786e41fed9d/teuthology/orchestra/remote.py", line 596, in run
        r = self._runner(client=self.ssh, name=self.shortname, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/teuthworker/src/git.ceph.com_teuthology_3686f8793d626abcf5a0018da0a50786e41fed9d/teuthology/orchestra/run.py", line 461, in run
        r.wait()
      File "/home/teuthworker/src/git.ceph.com_teuthology_3686f8793d626abcf5a0018da0a50786e41fed9d/teuthology/orchestra/run.py", line 161, in wait
        self._raise_for_status()
      File "/home/teuthworker/src/git.ceph.com_teuthology_3686f8793d626abcf5a0018da0a50786e41fed9d/teuthology/orchestra/run.py", line 181, in _raise_for_status
        raise CommandFailedError(
    teuthology.exceptions.CommandFailedError: Command failed on trial043 with status 1: 'python3 -m pip install -r /home/ubuntu/cephtest/cbt/requirements.txt'

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoqa/distros: use consistent naming
Patrick Donnelly [Wed, 27 May 2026 02:21:12 +0000 (22:21 -0400)]
qa/distros: use consistent naming

Put the release name in the yaml name so it's easy to read from the job
description. "ubuntu_latest" means different things depending on the
Ceph release.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoqa/tasks/nvme_loop: fix nvme loop task for ubuntu noble
Adam King [Tue, 16 Sep 2025 16:07:36 +0000 (12:07 -0400)]
qa/tasks/nvme_loop: fix nvme loop task for ubuntu noble

Compared to older distros, this one complains if
you include `-q hostnqn` in the nvme connect command,
saying "Failed to write to /dev/nvme-fabrics: Invalid argument".
Removing that argument gets passed that error and
doesn't seem to have any downsides

Signed-off-by: Adam King <adking@redhat.com>
2 weeks agoqa/distros: add ubuntu_24.04 as supported container host
Casey Bodley [Thu, 12 Jun 2025 20:40:49 +0000 (16:40 -0400)]
qa/distros: add ubuntu_24.04 as supported container host

Signed-off-by: Casey Bodley <cbodley@redhat.com>
CEPH-BUILD-JOB: ceph-dev-pipeline
DISTROS: noble jammy centos9
ARCHS: x86_64
FLAVORS: default

2 weeks agoqa/distros: bump ubuntu_latest.yaml to 24.04
Casey Bodley [Thu, 12 Jun 2025 20:32:37 +0000 (16:32 -0400)]
qa/distros: bump ubuntu_latest.yaml to 24.04

and add ubuntu_22.04.yaml back to distros/supported and
distros/supported-random-distro$

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoqa/distros: add all/ubuntu_24.04.yaml
Casey Bodley [Thu, 12 Jun 2025 19:57:12 +0000 (15:57 -0400)]
qa/distros: add all/ubuntu_24.04.yaml

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoqa/suites/rados/encoder: use random supported distro
Patrick Donnelly [Fri, 22 May 2026 22:53:33 +0000 (18:53 -0400)]
qa/suites/rados/encoder: use random supported distro

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoqa/ceph-ansible: symlink supported-random-distro$
Casey Bodley [Thu, 12 Jun 2025 20:08:57 +0000 (16:08 -0400)]
qa/ceph-ansible: symlink supported-random-distro$

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoqa/fs/fscrypt: symlink supported-random-distro$
Casey Bodley [Thu, 12 Jun 2025 20:06:43 +0000 (16:06 -0400)]
qa/fs/fscrypt: symlink supported-random-distro$

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoqa/cephmetrics: symlink supported-random-distro$
Casey Bodley [Thu, 12 Jun 2025 20:06:03 +0000 (16:06 -0400)]
qa/cephmetrics: symlink supported-random-distro$

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 weeks agomgr/ThreadMonitor: monitor interval running in seconds and not nanoseconds 69125/head
Nitzan Mordechai [Wed, 27 May 2026 11:48:14 +0000 (11:48 +0000)]
mgr/ThreadMonitor: monitor interval running in seconds and not nanoseconds

The ctor accidently use the mgr_module_monitor_interval as nanoseconds
we need to use it as seconds.
Also, prevent high cpu loop in case read_process_statm failed during
while loop

Fixes: https://tracker.ceph.com/issues/76938
Signed-off-by: Nitzan Mordechai <nmordec@ibm.com>
2 weeks agooptions: Add desc and flags to "rocksdb_cache_shard_bits" 68774/head
Adam Kupczyk [Wed, 27 May 2026 11:49:33 +0000 (13:49 +0200)]
options: Add desc and flags to "rocksdb_cache_shard_bits"

It is needed for docs to be properly reference options.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 weeks agodoc/rados/bluestore: RockDB cache shards, perf counters
Adam Kupczyk [Mon, 4 May 2026 18:47:12 +0000 (20:47 +0200)]
doc/rados/bluestore: RockDB cache shards, perf counters

Document role of RocksDB cache shards.
Explain how to monitor cache status and performance.
Give explanation how to detect cache flickering.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 weeks agocrimson/seastore: segment_manager: fix -Wunused warnings 69122/head
Kefu Chai [Wed, 27 May 2026 08:52:31 +0000 (16:52 +0800)]
crimson/seastore: segment_manager: fix -Wunused warnings

7f739adae2 dropped the last log call from get_segment_manager(), after
which `LOG_PREFIX(SegmentManager::get_segment_manager)` and
`SET_SUBSYS(seastore_device)` had no remaining users under `HAVE_ZNS`,
generating:

```
src/crimson/os/seastore/segment_manager.cc:38:3: warning: unused variable 'FNAME' [-Wunused-variable]
   38 |   LOG_PREFIX(SegmentManager::get_segment_manager);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/crimson/common/log.h:49:38: note: expanded from macro 'LOG_PREFIX'
   49 | #define LOG_PREFIX(x) constexpr auto FNAME = #x
      |                                      ^~~~~
src/crimson/os/seastore/segment_manager.cc:10:1: warning: unused variable 'SOURCE_SUBSYS' [-Wunused-const-variable]
   10 | SET_SUBSYS(seastore_device);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/crimson/common/log.h:46:52: note: expanded from macro 'SET_SUBSYS'
   46 | #define SET_SUBSYS(subname_) static constexpr auto SOURCE_SUBSYS = ceph_subsys_##subname_
      |                                                    ^~~~~~~~~~~~~
2 warnings generated.
```

drop both to silence them.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoqa/suites/nvmeof: set beacon grace and connect panic
Vallari Agrawal [Wed, 27 May 2026 08:12:12 +0000 (13:42 +0530)]
qa/suites/nvmeof: set beacon grace and connect panic

For teuthology clusters, set:
'''
ceph config set mon mon_nvmeofgw_beacon_grace 10
ceph config set mon nvmeof_mon_client_connect_panic 60
'''
Reason explained in https://tracker.ceph.com/issues/74660#note-12

Fixes: https://tracker.ceph.com/issues/74660
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 weeks agocrimson/seastore: make RecordSubmitter::wait_available() idempotent 69121/head
Kefu Chai [Tue, 26 May 2026 14:01:41 +0000 (22:01 +0800)]
crimson/seastore: make RecordSubmitter::wait_available() idempotent

Under sustained 4K randwrite workloads that roll journal segments
frequently, crimson-osd hits
```
    crimson/os/seastore/journal/record_submitter.cc:198:
    FAILED ceph_assert(!is_available())
```
and, in release builds without assertions, a downstream
`boost::throw_exception<std::length_error>` from
`seastar::shared_promise::get_shared_future()` called on a
disengaged `std::optional` in the same code path.

`RecordSubmitter::roll_segment()` arms wait_available_promise on entry,
then chains `journal_allocator.roll().safe_then(...)` whose continuation
sets the promise's value and resets the optional. The background
continuation can resolve before the subsequent `wait_available()` call
is entered -- the optional gets reset, `is_available()` becomes true
again, and `wait_available()`'s `assert(!is_available())` fires. The
brittle invariant being assumed

> .safe_then's continuation will not run before its outer call returns

is not part of seastar's contract.

Honour the documented contract instead.  record_submitter.h
says:

> wait for available if cannot submit, should check
> is_available() again when the future is resolved.

The postcondition is "available when resolved"; the precondition
"unavailable when called" was incidental.  Make `wait_available()`
idempotent: if `is_available()` is already true on entry, return a
ready future immediately. All three external callers
- `RecordSubmitter::roll_segment`
- `CircularBoundedJournal::submit_record`
- `SegmentedOolWriter::do_write`

re-check `is_available()` on the next iteration or in the chained
continuation and dispatch correctly.

Validated by runing a 96-job fio randwrite bench to confirm
the fix in operation; pre-patch the assert fires within ~30 min
and kills the OSD.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoceph-volume: detect rotational media under dm-crypt for workqueue bypass 69105/head
Guillaume Abrioux [Wed, 27 May 2026 07:41:13 +0000 (09:41 +0200)]
ceph-volume: detect rotational media under dm-crypt for workqueue bypass

bypass_workqueue() was inspecting the top level block device
(e.g: /dev/mapper/*) when deciding whether to disable read/write
workqueues for nvme devices, it must look at the real disk under
dmcrypt/lvm, not the mapper. On osd block paths the top device
often lies about rotational, so --perf-no_workqueue was wrong.

The idea of this fix is to walk sysfs 'slaves/' to the leaf, then
check rotational there (udev + rota).

Fixes: https://tracker.ceph.com/issues/76805
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 weeks agoMerge pull request #69116 from rhcs-dashboard/fix-cephadm-e2e-quoting
Nizamudeen A [Wed, 27 May 2026 05:52:17 +0000 (11:22 +0530)]
Merge pull request #69116 from rhcs-dashboard/fix-cephadm-e2e-quoting

mgr/dashboard: fix nested shell quoting in cephadm e2e start-cluster

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 weeks agoqa/cephfs: install ceph-mgr-modules-standard for cephfs tests 69118/head
Venky Shankar [Tue, 26 May 2026 12:09:53 +0000 (17:39 +0530)]
qa/cephfs: install ceph-mgr-modules-standard for cephfs tests

Now that the ceph-mgr plugins are being separated into essential and
non-essential packages (always-on vs. optional), cephfs qa suite
requires the optional packages for ceph-mgr plugins which are not
always-on, but are being tested with fs suite. The good thing is, we
can install _all_ optional plugins using ceph-mgr-modules-standard
package instead of installing cherry-picked packages.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
2 weeks agocrimson/os/seastore: force rewrite transactions to conflict with others 69044/head
Xuehan Xu [Thu, 21 May 2026 12:35:47 +0000 (20:35 +0800)]
crimson/os/seastore: force rewrite transactions to conflict with others
if it involve insertions on the lba tree

The issue was introduced since bd0ce704f24afbe11830d31b46d8b22771f54456

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
2 weeks agoqa: ignore POOL_FULL for rbd tests exercising full pools 68899/head
Patrick Donnelly [Wed, 13 May 2026 18:29:43 +0000 (14:29 -0400)]
qa: ignore POOL_FULL for rbd tests exercising full pools

Fixes: https://tracker.ceph.com/issues/76586
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agomgr/dashboard: fix nested shell quoting in cephadm e2e start-cluster 69116/head
Afreen Misbah [Wed, 27 May 2026 00:07:38 +0000 (05:37 +0530)]
mgr/dashboard: fix nested shell quoting in cephadm e2e start-cluster

with_libvirt wraps commands in sg libvirt -c "$1", adding an extra
shell layer. Nested double quotes inside the outer double-quoted
string caused the argument to be split — with_libvirt received a
truncated $1, producing "Unterminated quoted string" on the remote
shell.

Drop the unnecessary inner double quotes around cephadm shell
arguments since cephadm shell accepts the command as separate args.
Use single quotes for the grep pattern inside the double-quoted
string so it survives the sg subshell.

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 weeks agoMerge pull request #69068 from tchaikov/wip-bump-arrow-submodule
Kefu Chai [Wed, 27 May 2026 00:05:25 +0000 (08:05 +0800)]
Merge pull request #69068 from tchaikov/wip-bump-arrow-submodule

rgw: bump Apache Arrow submodule from 17.0.0 to 19.0.1

Reviewed-by: Justin Caratzas <jcaratza@ibm.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoMerge pull request #67551 from Ericmzhang/wip-improve-pg-autoscale
Kamoltat (Junior) Sirivadhna [Tue, 26 May 2026 22:04:43 +0000 (18:04 -0400)]
Merge pull request #67551 from Ericmzhang/wip-improve-pg-autoscale

mgr: Fix autoscaling PG distribution
Reviewed-by: Kamoltat (Junior) Sirivadhna <ksirivad@redhat.com>
2 weeks agoMerge pull request #67337 from badone/wip-tracker-74919-ceph-dump-log-new-global...
Brad Hubbard [Tue, 26 May 2026 21:59:37 +0000 (07:59 +1000)]
Merge pull request #67337 from badone/wip-tracker-74919-ceph-dump-log-new-global-access

scripts: ceph_dump_log.py change global context access

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
2 weeks agoMerge pull request #67857 from yaelazulay-redhat/issues_74393_dashboard_fail_to_acces...
Afreen Misbah [Tue, 26 May 2026 21:35:55 +0000 (03:05 +0530)]
Merge pull request #67857 from yaelazulay-redhat/issues_74393_dashboard_fail_to_access_object_when_rgw_use_cephadm_certificate

Issues 74393 dashboard fail to access object when rgw use cephadm certificate

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 weeks agoscripts: add Jenkins unit test analysis tool 68851/head
stzuraski898 [Mon, 11 May 2026 20:10:07 +0000 (20:10 +0000)]
scripts: add Jenkins unit test analysis tool

Add analyze_unittest_jenkins.py to aggregate and analyze unit test
results across multiple Ceph PRs by mining Jenkins CI build logs.

The script fetches recent open PRs from GitHub, extracts Jenkins build
URLs from PR checks, downloads console logs in parallel, and parses
CTest output to generate comprehensive failure reports.

This enables data-driven decisions about test infrastructure
improvements and helps identify systemic issues in the test suite.

Fixes: https://tracker.ceph.com/issues/76513
Assisted-by: IBM Bob (Claude 3.7 Sonnet)
Signed-off-by: Steven Zuraski <steven.zuraski@ibm.com>
2 weeks agoosd: unregister admin socket commands in fast shutdown 69061/head
Jane Zhu [Fri, 22 May 2026 22:50:54 +0000 (22:50 +0000)]
osd: unregister admin socket commands in fast shutdown

Fixes: https://tracker.ceph.com/issues/70346
Signed-off-by: Jane Zhu <jzhu116@bloomberg.net>
2 weeks agoMerge pull request #68874 from BBoozmen/wip-oozmen-76563
Adam Emerson [Tue, 26 May 2026 18:49:10 +0000 (14:49 -0400)]
Merge pull request #68874 from BBoozmen/wip-oozmen-76563

neorados/cls/log: fix infinite trim loop on empty data log shards

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2 weeks agoMerge pull request #67079 from MattyWilliams22/ec-sync-reads
Radoslaw Zarzynski [Tue, 26 May 2026 16:31:12 +0000 (18:31 +0200)]
Merge pull request #67079 from MattyWilliams22/ec-sync-reads

osd: Support for Synchronous Reads in EC

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 weeks agorgw/s3control: skip account id check for admin users 64293/head
Casey Bodley [Tue, 26 May 2026 16:03:48 +0000 (12:03 -0400)]
rgw/s3control: skip account id check for admin users

allow access to admin users that don't belong to the requested account.
this is also necessary for multisite, where requests are forwarded to
the metadata master as the multisite system user instead of the original
requester

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoosd/scrub: 'repairing' scrubs allowed at all times
Ronen Friedman [Tue, 26 May 2026 15:29:32 +0000 (15:29 +0000)]
osd/scrub: 'repairing' scrubs allowed at all times

Fix ScrubJob::observes_allowed_hours() to not block 'repairing'
scrubs outside of the allowed hours. This allows repair scrubs
to run at any time or day-of-week.
The fixed behaviour matches the documented requirements.

Fixes: https://tracker.ceph.com/issues/76811
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 weeks agomgr/dashboard: Converting add storage wizard into tearsheet 68977/head
Devika Babrekar [Mon, 18 May 2026 14:23:22 +0000 (19:53 +0530)]
mgr/dashboard: Converting add storage wizard into tearsheet
Fixes: https://tracker.ceph.com/issues/76652
Signed-off-by: Devika Babrekar <devika.babrekar@ibm.com>
2 weeks agoos/bluestore: Collection::split_cache no longer purges cache 65792/head
Adam Kupczyk [Tue, 26 May 2026 10:38:17 +0000 (10:38 +0000)]
os/bluestore: Collection::split_cache no longer purges cache

There are 2 cases when Collection::split_cache is used:
1) Merge Collections.
   It this case we get more elements in dest collection,
   but we do not want to trim by force as it might cause stall.
2) Split Collection
   Source cache is getting thinner, and dest cache is growing.
   Similarly, trimming dest will cause stall.

Decision:
It is better to not trim forcibly and relay on gradual trimming
from MempoolThread or client IO.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 weeks agoMerge pull request #67950 from rhcs-dashboard/add-telemetry-status
Pedro Gonzalez Gomez [Tue, 26 May 2026 10:16:32 +0000 (12:16 +0200)]
Merge pull request #67950 from rhcs-dashboard/add-telemetry-status

mgr/dashboard: add telemetry status to overview-health-card

Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
2 weeks agocrimson/os/seastore/onode_manager: avoid debug related info from 69095/head
Xuehan Xu [Tue, 26 May 2026 09:55:00 +0000 (17:55 +0800)]
crimson/os/seastore/onode_manager: avoid debug related info from
occupying too much cpu time

According to the perf tests, constructing the info occupies about 5% of
the total system cpu overhead

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
2 weeks agoMerge pull request #68258 from tchaikov/wip-with-system-jerasure
Kefu Chai [Tue, 26 May 2026 09:53:02 +0000 (17:53 +0800)]
Merge pull request #68258 from tchaikov/wip-with-system-jerasure

cmake: support building with system jerasure and gf-complete

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoos/bluestore: Allow onode eviction be part of autotune
Adam Kupczyk [Mon, 6 Oct 2025 11:33:50 +0000 (11:33 +0000)]
os/bluestore: Allow onode eviction be part of autotune

Add bluestore_cache_meta_evict_in_autotune configurable.
It allows to evict onodes as part of autotune process.
This makes onode CacheShards size adapt to PriorityCache Meta
memory allocation.

Fixes: https://tracker.ceph.com/issues/73353
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 weeks agoos/bluestore: Limit stall from evicting onodes
Adam Kupczyk [Mon, 6 Oct 2025 10:53:04 +0000 (10:53 +0000)]
os/bluestore: Limit stall from evicting onodes

Limits how many onodes can be evicted from OnodeCacheShard in one go.
Added bluestore_cache_meta_drop_limit that controls how fast
onodes can be evicted from cache.

Fixes: https://tracker.ceph.com/issues/73353
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 weeks agoMerge pull request #61131 from NitzanMordhai/wip-nitzan-mgr-modules-perf-counts
NitzanMordhai [Tue, 26 May 2026 09:31:45 +0000 (12:31 +0300)]
Merge pull request #61131 from NitzanMordhai/wip-nitzan-mgr-modules-perf-counts

mgr: Add per-module performance counters to mgr

Reviewed-by: Sridhar Seshasayee sridhar.seshasayee@ibm.com
2 weeks agoMerge pull request #68858 from rsacherer/wip-fix-limit-break-existing-devices
Guillaume Abrioux [Tue, 26 May 2026 09:19:03 +0000 (11:19 +0200)]
Merge pull request #68858 from rsacherer/wip-fix-limit-break-existing-devices

ceph-volume: fix re-deployment of OSD issues with disk selection filters and DB Devices

2 weeks agoMerge pull request #67935 from rhcs-dashboard/add-csv
Pedro Gonzalez Gomez [Tue, 26 May 2026 09:06:14 +0000 (11:06 +0200)]
Merge pull request #67935 from rhcs-dashboard/add-csv

mgr/dashboard: Add Hosts via CSV Upload

Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
Reviewed-by: Puja Shahu <pshahu@redhat.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@ibm.com>
2 weeks agoMerge pull request #68894 from guits/cv-dm-mgmt
Guillaume Abrioux [Tue, 26 May 2026 09:04:53 +0000 (11:04 +0200)]
Merge pull request #68894 from guits/cv-dm-mgmt

ceph-volume: OSD mapper lifecycle (LVM + raw) for activate

2 weeks agoMerge pull request #69064 from tchaikov/wip-crimson-scrub-blocked
Matan Breizman [Tue, 26 May 2026 08:02:54 +0000 (11:02 +0300)]
Merge pull request #69064 from tchaikov/wip-crimson-scrub-blocked

crimson/scrub: fix assert in PGScrubber::release_range() on interval change

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agoMerge pull request #69020 from tchaikov/wip-level-triggered-unblock
Matan Breizman [Tue, 26 May 2026 08:01:14 +0000 (11:01 +0300)]
Merge pull request #69020 from tchaikov/wip-level-triggered-unblock

crimson/osd: only unblock wait_for_active_blocker on replica when ACTIVE

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agoMerge pull request #69018 from tchaikov/wip-large-object-size
Matan Breizman [Tue, 26 May 2026 08:00:37 +0000 (11:00 +0300)]
Merge pull request #69018 from tchaikov/wip-large-object-size

crimson/seastore: reject oversized writes and zeros instead of aborting

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agoMerge pull request #59476 from zhscn/wip-new-128
Xuehan Xu [Tue, 26 May 2026 05:40:09 +0000 (13:40 +0800)]
Merge pull request #59476 from zhscn/wip-new-128

crimson/os/seastore: introduce static layout of laddr_t

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
3 weeks agoMerge pull request #68887 from ShreeJejurikar/wip-bucket-logging-requester-assumed...
Yuval Lifshitz [Tue, 26 May 2026 04:58:58 +0000 (07:58 +0300)]
Merge pull request #68887 from ShreeJejurikar/wip-bucket-logging-requester-assumed-role

rgw/logging: use assumed-role ARN as Requester for STS requests

3 weeks agoqa: remove working directory in test_cephfs_mirror_sync_already_existing_snapshots 65950/head
Jos Collin [Tue, 26 May 2026 04:53:16 +0000 (10:23 +0530)]
qa: remove working directory in test_cephfs_mirror_sync_already_existing_snapshots

Signed-off-by: Jos Collin <jcollin@redhat.com>
3 weeks agoqa: drop creating huge files in test_cephfs_mirror_cancel_sync
Jos Collin [Tue, 26 May 2026 04:49:53 +0000 (10:19 +0530)]
qa: drop creating huge files in test_cephfs_mirror_cancel_sync

Fixes: https://tracker.ceph.com/issues/71701
Fixes: https://tracker.ceph.com/issues/72869
Signed-off-by: Jos Collin <jcollin@redhat.com>
3 weeks agoMerge pull request #69067 from xxhdx1985126/wip-seastore-lba-wrong-asserts
Xuehan Xu [Tue, 26 May 2026 02:54:07 +0000 (10:54 +0800)]
Merge pull request #69067 from xxhdx1985126/wip-seastore-lba-wrong-asserts

crimson/os/seastore/lba: fix wrong asserts and "if" conditions

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #69082 from ronen-fr/wip-rf-trimlmt-rst
Ronen Friedman [Mon, 25 May 2026 18:27:42 +0000 (21:27 +0300)]
Merge pull request #69082 from ronen-fr/wip-rf-trimlmt-rst

doc/PendingReleaseNotes: document osd_scrub_queued_snaptrims_limit

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 weeks agodoc/PendingReleaseNotes: document osd_scrub_queued_snaptrims_limit 69082/head
Ronen Friedman [Mon, 25 May 2026 13:13:03 +0000 (13:13 +0000)]
doc/PendingReleaseNotes: document osd_scrub_queued_snaptrims_limit

osd_scrub_queued_snaptrims_limit, introduced in PR#68737,
blocks the initiation of non-urgent scrubs on OSDs that
are overloaded with snap-trim operations.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 weeks agocrimson/os/seastore: auto-tune cleaner gc segment pick under random-write 68964/head
Shai Fultheim [Sun, 17 May 2026 09:40:44 +0000 (12:40 +0300)]
crimson/os/seastore: auto-tune cleaner gc segment pick under random-write

SegmentCleaner uses one of three configurable gc formulas to select
the next segment to reclaim: GREEDY (lowest util wins), COST_BENEFIT
((1-u)*age/(2u)), or BENEFIT (an age-weighted quadratic in util).
COST_BENEFIT is the default and the right choice for journaling /
LIFO workloads, where old segments accumulate more dead bytes than
young ones — age predicts deadness, so an old high-util segment is
worth reclaiming because its util will keep rising as long as we wait.

That assumption breaks under random-write at high cluster fill. Dead
bytes spread uniformly across segments regardless of age, so age stops
predicting future deadness, and (1-u)/(2u) becomes the only term that
distinguishes candidates. With every segment in the 0.7-0.94 util
band, (1-u)/(2u) ranges from 0.227 to 0.032 — a 7x spread the formula
can easily lose to a 7x age difference. Result: a 0.94-util old
segment scores higher than a 0.68-util young one, even though
reclaiming the 0.68 segment would free 5x more space (32% of a
64 MB segment vs 6%).

Observed in qa/standalone/crimson randwrite at ~70% full: with the
unmodified formula, cleaner picks settled on 0.92-0.94 util segments
freeing ~4 MB net each; net free rate collapsed to single-digit KB/s
even though the cleaner was running cycles at ~30 µs each. fio's
stall watchdog killed the bench after 535 GB user written (target
1280 GB). Switching gc_formula = greedy by hand let the bench
complete the target.

This patch detects the mis-selection at runtime and overrides the
formula's pick with the greedy choice only when the difference is
significant. In get_next_reclaim_segment() we already iterate all
closed reclaimable segments to find the formula's max-score candidate;
in the same pass we now also track the lowest-util candidate (what
GREEDY would have picked). After the loop, if greedy's free-fraction
(1 - greedy_util) is at least seastore_segment_cleaner_gc_autotune_ratio
times the formula's pick's free-fraction (default 2.0), we swap to
greedy. Since all segments share the same size, comparing free-
fractions is equivalent to comparing freed bytes; the fraction form
avoids an unnecessary multiplication.

The full design rationale (regime-by-regime behaviour, safety guard
against picked_free near zero, score-recompute on override, threshold
calibration) lives in doc/dev/crimson/seastore.rst under the new
"Cleaner GC autotune" section. The code references it from short
inline comments.

Configurable knobs:

  * seastore_segment_cleaner_gc_autotune (bool, default true) —
    operators can disable the override entirely to honor the
    configured formula unconditionally. Ignored when gc_formula =
    greedy.

  * seastore_segment_cleaner_gc_autotune_ratio (float, default 2.0,
    min 1.0) — operators can tune the override threshold. Higher is
    more conservative (preserves age weighting more aggressively);
    lower is more aggressive (behaviour converges toward pure greedy).

The override predicate is factored into a static helper
`SegmentCleaner::should_override_to_greedy(picked_free, greedy_free,
ratio)` so the call site stays readable and the predicate is
independently testable.

With this change the qa/standalone/crimson randwrite bench at 70%
fill completes the target run rather than stalling at the 500-600 GB
mark, with the override firing reliably under high uniform alive_
ratio and not firing under low or non-uniform alive_ratio. Override
behaviour can be observed with debug_seastore_cleaner=20.

Signed-off-by: Shai Fultheim <shai.fultheim@gmail.com>
3 weeks agoqa/rgw/bucket-logging: configure STS for assume-role test 68887/head
ShreeJejurikar [Wed, 20 May 2026 07:18:03 +0000 (12:48 +0530)]
qa/rgw/bucket-logging: configure STS for assume-role test

Set rgw sts key and enable rgw s3 auth use sts, both needed by
test_bucket_logging_requester_assumed_role. Mirrors the existing
settings in qa/suites/rgw/verify/overrides.yaml.

Signed-off-by: ShreeJejurikar <shreemj8@gmail.com>
3 weeks agoMerge pull request #69006 from tchaikov/wip-seastore-clamp-block-size-on-small-lba
Matan Breizman [Mon, 25 May 2026 10:39:18 +0000 (13:39 +0300)]
Merge pull request #69006 from tchaikov/wip-seastore-clamp-block-size-on-small-lba

crimson/seastore: clamp block_size to laddr_t::UNIT_SIZE on small-LBA devices

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #68961 from fultheim/fix-cleaner-stall-projected-ratio
Matan Breizman [Mon, 25 May 2026 10:24:59 +0000 (13:24 +0300)]
Merge pull request #68961 from fultheim/fix-cleaner-stall-projected-ratio

crimson/os/seastore: fix cleaner stall under IO-block pressure

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #68884 from tchaikov/wip-crimson-advance-osdmap
Matan Breizman [Mon, 25 May 2026 09:27:01 +0000 (12:27 +0300)]
Merge pull request #68884 from tchaikov/wip-crimson-advance-osdmap

crimson/osd: fix mark-down crash for removed OSDs

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #68861 from tchaikov/wip-crimson-reset-logger
Matan Breizman [Mon, 25 May 2026 09:26:06 +0000 (12:26 +0300)]
Merge pull request #68861 from tchaikov/wip-crimson-reset-logger

crimson/osd: inline log file stream setup to fix dangling pointer

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #69042 from Shubhaj1810/revert-67999
Redouane Kachach [Mon, 25 May 2026 09:14:57 +0000 (11:14 +0200)]
Merge pull request #69042 from Shubhaj1810/revert-67999

Revert "mgr/cephadm: align nodeid and add register_service for NFS Ganesha service visibility"

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
3 weeks agocrimson/os/seastore: also update the mappings copied by client 59476/head
Xuehan Xu [Fri, 15 May 2026 09:10:04 +0000 (17:10 +0800)]
crimson/os/seastore: also update the mappings copied by client
transactions when committing background rewriting transactions

With the 128-bit laddr key layout in place, SeaStore::rename would
involve copying mappings. These mappings must also be updated when
the logical extents they point to are rewritten.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/omap_manager/log: better output
Xuehan Xu [Tue, 28 Apr 2026 07:00:24 +0000 (15:00 +0800)]
crimson/os/seastore/omap_manager/log: better output

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agodoc/dev/crimson/seastore_laddr.rst: add descriptions about temp
Xuehan Xu [Sun, 10 May 2026 07:36:22 +0000 (15:36 +0800)]
doc/dev/crimson/seastore_laddr.rst: add descriptions about temp
recovering objects

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/osd: treat OI-not-existing cases as enoent
Xuehan Xu [Thu, 16 Apr 2026 05:47:18 +0000 (13:47 +0800)]
crimson/osd: treat OI-not-existing cases as enoent

This is consistent with classic osds

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/object_data_handler: new debug logs
Xuehan Xu [Tue, 14 Apr 2026 06:00:52 +0000 (14:00 +0800)]
crimson/os/seastore/object_data_handler: new debug logs

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/osd: create temp recovering objects through touch_temp
Xuehan Xu [Wed, 22 Apr 2026 05:37:46 +0000 (13:37 +0800)]
crimson/osd: create temp recovering objects through touch_temp

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore: handle OP_TOUCH_TEMP
Xuehan Xu [Sun, 29 Mar 2026 03:20:52 +0000 (11:20 +0800)]
crimson/os/seastore: handle OP_TOUCH_TEMP

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agoos/Transaction: add the interface dedicated to touching temp objects
Xuehan Xu [Thu, 26 Mar 2026 08:08:41 +0000 (16:08 +0800)]
os/Transaction: add the interface dedicated to touching temp objects

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/lba: fix possible namespace lookup error
Xuehan Xu [Tue, 3 Feb 2026 03:11:33 +0000 (11:11 +0800)]
crimson/os/seastore/lba: fix possible namespace lookup error

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agodev/doc/crimson: clarify dynamic PG and object bits for static laddr design
Zhang Song [Thu, 8 Jan 2026 04:14:20 +0000 (12:14 +0800)]
dev/doc/crimson: clarify dynamic PG and object bits for static laddr design

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore: adapt copy on write for static onode prefix
Zhang Song [Wed, 3 Sep 2025 07:54:40 +0000 (15:54 +0800)]
crimson/os/seastore: adapt copy on write for static onode prefix

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore: support rename for static layout of laddr
Zhang Song [Tue, 26 Aug 2025 03:42:49 +0000 (11:42 +0800)]
crimson/os/seastore: support rename for static layout of laddr

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore: add "move_mapping" to TransactionManager and LBAManager
Xuehan Xu [Tue, 26 Aug 2025 06:28:55 +0000 (14:28 +0800)]
crimson/os/seastore: add "move_mapping" to TransactionManager and LBAManager

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/lba: set extent type for ZERO lba mappings
Xuehan Xu [Mon, 2 Feb 2026 07:42:49 +0000 (15:42 +0800)]
crimson/os/seastore/lba: set extent type for ZERO lba mappings

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agomgr/dashboard: Add Hosts via CSV Upload 67935/head
Sagar Gopale [Mon, 23 Mar 2026 06:08:44 +0000 (11:38 +0530)]
mgr/dashboard: Add Hosts via CSV Upload

Fixes: https://tracker.ceph.com/issues/75578
Signed-off-by: Sagar Gopale <sagar.gopale@ibm.com>
3 weeks agoMerge pull request #68667 from rhcs-dashboard/fix-76316-main
Redouane Kachach [Mon, 25 May 2026 08:32:23 +0000 (10:32 +0200)]
Merge pull request #68667 from rhcs-dashboard/fix-76316-main

mgr/dashboard: add remote write section to prometheus configuration

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 weeks agoworkunits/mgr/test_mgr_modules_perf_counters: new test for enable\disable\perf counts 61131/head
Nitzan Mordechai [Tue, 17 Dec 2024 13:49:00 +0000 (13:49 +0000)]
workunits/mgr/test_mgr_modules_perf_counters: new test for enable\disable\perf counts

Simple test to enable \ disable and get counters dump
for checking perf counters.

Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
3 weeks agomgr: Add per-module performance counters to mgr
Nitzan Mordechai [Sun, 8 Dec 2024 18:08:39 +0000 (18:08 +0000)]
mgr: Add per-module performance counters to mgr

This commit introduces performance counters for individual Ceph mgr modules.
These counters allow monitoring module behavior, debugging latency issues,
and identifying performance bottlenecks, all without modifying the modules themselves.

The following counters are now exposed under:
  > ceph daemon mgr.<id> perf dump

Example structure:
"mgr_module_<module_name>": {
    "notify_avg_usec": {     <- Average time spent handling notify events
        "avgcount": 0,
        "sum": 0
    },
    "cmd_avg_usec": {        <- Average time spent processing CLI/admin commands
        "avgcount": 0,
        "sum": 0
    },
    "serve_avg_usec": {      <- Average time spent in module serve loop (if applicable)
        "avgcount": 0,
        "sum": 0
    },
    "alive": 1               <- Module is alive (1 = running, 0 = exited)
    "cpu_usage": 0,          <- CPU usage in percent
    "mem_rss_change": 0,     <- Memory RSS change in bytes
    "mem_rss_current": 490737664 <- Memory RSS current in bytes

}

Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
Conflicts:
  src/mgr/ActivePyModules.cc - finisher.queue changed by 63859, adding py_module to the parameter list
  src/mgr/PyModuleRegistry.cc - check_all_modules_started added by 63859

3 weeks agoisa-l: enable on RISC-V 68098/head
Sun Yuechi [Mon, 25 May 2026 07:07:36 +0000 (15:07 +0800)]
isa-l: enable on RISC-V

ISA-L v2.32.0 added RISC-V support. Enable the ISA-L erasure code
plugin and the zlib compressor on RISC-V when RVV is available.

RVV is detected via the existing ceph_arch_riscv_probe() path added
in 01dc12ad565, so the same Linux 6.5+ requirement applies; on older
kernels the RVV path stays disabled.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
3 weeks agocompressor/zlib: fix bogus ISA-L warning on aarch64
Sun Yuechi [Mon, 25 May 2026 07:07:04 +0000 (15:07 +0800)]
compressor/zlib: fix bogus ISA-L warning on aarch64

The guard

    #if !(__x86_64__ && defined(HAVE_NASM_X64_AVX2)) || defined(__aarch64__)

binds the negation only to the x86 half, so aarch64 (where ISA-L
is supported) always hit the warning branch.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
3 weeks agoUse GANESHA_REPO_BASEURL for NFS-Ganesha on all distros 69073/head
Shweta Bhosale [Thu, 14 May 2026 13:49:56 +0000 (19:19 +0530)]
Use GANESHA_REPO_BASEURL for NFS-Ganesha on all distros

Fixes: https://tracker.ceph.com/issues/76603
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
3 weeks agonvmeofgw:fix forcing unavailable gw exit by sending 68650/head
Leonid Chernin [Fri, 10 Apr 2026 08:15:20 +0000 (11:15 +0300)]
nvmeofgw:fix forcing unavailable gw exit by sending
         empty map to it

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
3 weeks agoceph-volume: OSD mapper lifecycle (LVM + raw) for activate 68894/head
Guillaume Abrioux [Wed, 13 May 2026 12:57:03 +0000 (14:57 +0200)]
ceph-volume: OSD mapper lifecycle (LVM + raw) for activate

This adds small helpers so activate can consistently bring the OSD device
stack online (LVM lvchange, optional mapper open) and tear it down again,
with refresh in between. Same idea for the raw path. Crypto is handled
inside that flow when the OSD is encrypted.

Fixes: https://tracker.ceph.com/issues/76591
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
3 weeks agoMerge pull request #68771 from jrse/rgw-kafka-mtls-rebased
Yuval Lifshitz [Sun, 24 May 2026 19:29:38 +0000 (22:29 +0300)]
Merge pull request #68771 from jrse/rgw-kafka-mtls-rebased

rgw/kafka: add mTLS support (extends #61572)

3 weeks agorgw: bump Apache Arrow submodule from 17.0.0 to 19.0.1 69068/head
Kefu Chai [Sun, 24 May 2026 08:25:46 +0000 (16:25 +0800)]
rgw: bump Apache Arrow submodule from 17.0.0 to 19.0.1

When WITH_SYSTEM_ARROW is false, Ceph builds Arrow from the bundled
src/apache submodule. Our CI uses ubuntu:jammy as the base image, which
does not package libarrow-dev, so the bundled path is always taken there.

Arrow 17.0.0 vendors a copy of Thrift whose download URLs are no longer
reachable, breaking CI builds that try to fetch them at configure time.

Bump arrow submodule to 19.0.1, the latest Arrow release that:
- builds successfully on ubuntu:jammy, and
- requires only CMake 3.22 (the version shipped by ubuntu:jammy)

See also

CMake version shipped by ubuntu:jammy
- https://packages.ubuntu.com/jammy/cmake

arrow releases' CMake support
- maint-19.0.1: https://github.com/apache/arrow/blob/272715f6df2a042d69881ffa03d5078c58e4b345/cpp/CMakeLists.txt#L18
- maint-20.0.0: https://github.com/apache/arrow/blob/3ad0370a04ccdae638755b94c3c31c8760a11193/cpp/CMakeLists.txt#L18

arrow enabled minmalloc by default
-
https://github.com/apache/arrow/commit/b907c5dadb516b525c8fafbf34b0116d44044733

Because arrow uses the bundled mialloc library be default, we need
to disable it in the same commit bumping up the submodule.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
3 weeks agoMerge pull request #66150 from MaodiMa/AVX512_crc32c
Kefu Chai [Sun, 24 May 2026 09:55:45 +0000 (17:55 +0800)]
Merge pull request #66150 from MaodiMa/AVX512_crc32c

common: enable AVX512+VPCLMULQDQ for crc32c performance on x86

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
3 weeks agocrimson/os/seastore/lba: fix wrong asserts and "if" conditions 69067/head
Xuehan Xu [Sat, 23 May 2026 09:23:02 +0000 (17:23 +0800)]
crimson/os/seastore/lba: fix wrong asserts and "if" conditions

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/OMapManager: only store the relative block offset to omap root...
Zhang Song [Fri, 30 May 2025 09:45:39 +0000 (17:45 +0800)]
crimson/os/seastore/OMapManager: only store the relative block offset to omap root in OMapInnerNode

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agotest/crimson/seastore/test_btree_lba_manager: add test cases for conflict policy
Zhang Song [Tue, 27 May 2025 07:31:13 +0000 (15:31 +0800)]
test/crimson/seastore/test_btree_lba_manager: add test cases for conflict policy

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/lba_manager: implement conflict policy
Zhang Song [Tue, 26 Aug 2025 03:38:49 +0000 (11:38 +0800)]
crimson/os/seastore/lba_manager: implement conflict policy

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore: reserve region in LBABtree when touching onode
Zhang Song [Wed, 11 Jun 2025 04:04:25 +0000 (12:04 +0800)]
crimson/os/seastore: reserve region in LBABtree when touching onode

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/OnodeManager: adapt laddr_hint_t approach
Zhang Song [Wed, 11 Jun 2025 04:04:03 +0000 (12:04 +0800)]
crimson/os/seastore/OnodeManager: adapt laddr_hint_t approach

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/OMapManager: adapt laddr_hint_t approach
Zhang Song [Mon, 26 May 2025 07:23:25 +0000 (15:23 +0800)]
crimson/os/seastore/OMapManager: adapt laddr_hint_t approach

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore: use laddr_hint_t to allocate the laddr
Zhang Song [Tue, 26 Aug 2025 03:36:07 +0000 (11:36 +0800)]
crimson/os/seastore: use laddr_hint_t to allocate the laddr

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/Onode: get sibling's object id when creating new onode
Zhang Song [Wed, 11 Jun 2025 03:50:12 +0000 (11:50 +0800)]
crimson/os/seastore/Onode: get sibling's object id when creating new onode

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/Onode: adapt new get hint approach
Zhang Song [Tue, 26 Aug 2025 03:34:37 +0000 (11:34 +0800)]
crimson/os/seastore/Onode: adapt new get hint approach

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/Onode: support get object/clone prefix
Zhang Song [Thu, 22 May 2025 08:58:14 +0000 (16:58 +0800)]
crimson/os/seastore/Onode: support get object/clone prefix

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 weeks agocrimson/os/seastore/Onode: remove default metadata offset/range
Zhang Song [Tue, 26 Aug 2025 03:31:03 +0000 (11:31 +0800)]
crimson/os/seastore/Onode: remove default metadata offset/range

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>