]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 months agomgr/nfs: NFS cluster and export commands to enable and disable ops/s control
Shweta Bhosale [Wed, 12 Feb 2025 14:08:07 +0000 (19:38 +0530)]
mgr/nfs: NFS cluster and export commands to enable and disable ops/s control

Fixes: https://tracker.ceph.com/issues/69861
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 months agomgr/nfs: NFS commands to enable, disable and get QOS config for cluster and export
Shweta Bhosale [Thu, 9 Jan 2025 13:53:37 +0000 (19:23 +0530)]
mgr/nfs: NFS commands to enable, disable and get QOS config for cluster and export

fixes: https://tracker.ceph.com/issues/69458
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 months agomgr/cephadm: Handled stick table for ipv6 setup, also removed stick table expiry 67720/head
Shweta Bhosale [Wed, 25 Mar 2026 10:29:40 +0000 (15:59 +0530)]
mgr/cephadm: Handled stick table for ipv6 setup, also removed stick table expiry

Fixes: https://tracker.ceph.com/issues/74970
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 months agomgr/cephadm: Update haproxy.cfg template to support nfs active active deployment
Shweta Bhosale [Mon, 16 Feb 2026 17:27:47 +0000 (22:57 +0530)]
mgr/cephadm: Update haproxy.cfg template to support nfs active active deployment

Fixes: https://tracker.ceph.com/issues/74970
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 months agoMerge pull request #68407 from knrt10/crimson-rgw-lifecycle
Kautilya Tripathi [Mon, 27 Apr 2026 12:07:34 +0000 (17:37 +0530)]
Merge pull request #68407 from knrt10/crimson-rgw-lifecycle

qa: Port rgw lifecycle test to crimson-rados

2 months agorgw/lc: add per-bucket lifecycle performance monitoring
Matthew N. Heler [Sun, 5 Oct 2025 15:43:26 +0000 (10:43 -0500)]
rgw/lc: add per-bucket lifecycle performance monitoring

Implements real-time per-bucket lifecycle (LC) monitoring via performance
counters exposed through the admin socket.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 months agomgr/cephadm: plumb force_delete_data through daemon/service removal 68428/head
Redouane Kachach [Wed, 3 Dec 2025 08:28:08 +0000 (09:28 +0100)]
mgr/cephadm: plumb force_delete_data through daemon/service removal

This PR wires the `force_delete_data` already existing flag in the
binary through cephadm’s daemon and service removal paths, so that
commands such as `ceph orch rm service` or equivalent daemon removal
can explicitly ask for data deletion instead of the default "move
under <fsid>/removed/" for daemons such as Prometheus, osd and mon.

Fixes: https://tracker.ceph.com/issues/74058
Signed-off-by: Kobi Ginon <kginon@redhat.com>
2 months agoMerge pull request #68618 from oduameh/wip-doc-nvmeof-subcommands
Ilya Dryomov [Mon, 27 Apr 2026 09:20:33 +0000 (11:20 +0200)]
Merge pull request #68618 from oduameh/wip-doc-nvmeof-subcommands

doc: document ceph nvmeof CLI subcommands for target configuration

Reviewed-by: Aviv Caro <Aviv.Caro@ibm.com>
2 months agoosdc: add missing include 68629/head
Max Kellermann [Fri, 24 Apr 2026 08:33:17 +0000 (10:33 +0200)]
osdc: add missing include

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
2 months agoMerge pull request #68338 from fivetime/ceph-volume-raw-osd-fsid
Guillaume Abrioux [Mon, 27 Apr 2026 08:29:04 +0000 (10:29 +0200)]
Merge pull request #68338 from fivetime/ceph-volume-raw-osd-fsid

ceph-volume: add --osd-fsid support to raw mode prepare

2 months agoMerge pull request #66586 from ShwetaBhosale1/execute_command_retry_logic_if_command_...
Redouane Kachach [Mon, 27 Apr 2026 08:25:24 +0000 (10:25 +0200)]
Merge pull request #66586 from ShwetaBhosale1/execute_command_retry_logic_if_command_fails_with_connection_error

mgr/cephadm: Added retry logic for execute command if command fails with connection error

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 months agoMerge pull request #67651 from ShwetaBhosale1/fix_issue_75189_nfs_rdma_support
Redouane Kachach [Mon, 27 Apr 2026 08:20:18 +0000 (10:20 +0200)]
Merge pull request #67651 from ShwetaBhosale1/fix_issue_75189_nfs_rdma_support

mgr/cephadm: nfs rdma support

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 months agoMerge pull request #68152 from ShwetaBhosale1/fix_issue_75704_make_haproxy_peer_confi...
Redouane Kachach [Mon, 27 Apr 2026 08:19:13 +0000 (10:19 +0200)]
Merge pull request #68152 from ShwetaBhosale1/fix_issue_75704_make_haproxy_peer_configuration_port_configurable

mgr/cephadm: Provide option to configure custom haproxy peer communication port

Reviewed-by: Kushal Deb <Kushal.Deb@ibm.com>
2 months agoMerge pull request #67906 from ShwetaBhosale1/update_nfs
Redouane Kachach [Mon, 27 Apr 2026 08:17:58 +0000 (10:17 +0200)]
Merge pull request #67906 from ShwetaBhosale1/update_nfs

Bump NFS Version in Ceph

Reviewed-by: Shubha Jain <SHUBHA.JAIN1@ibm.com>
2 months agoMerge pull request #68549 from afreen23/service-form-fix
Afreen Misbah [Mon, 27 Apr 2026 08:07:26 +0000 (13:37 +0530)]
Merge pull request #68549 from afreen23/service-form-fix

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
2 months agoMerge pull request #66331 from ujjawal-ibm/daemon-upgrade-issue-with-space
Redouane Kachach [Mon, 27 Apr 2026 08:03:54 +0000 (10:03 +0200)]
Merge pull request #66331 from ujjawal-ibm/daemon-upgrade-issue-with-space

mgr/cephadm: Handle whitespace in upgrade daemon types

Reviewed-by: Adam King <adking@redhat.com>
2 months agoMerge pull request #68164 from phlogistonjohn/jjm-cephadm-smb-deps-action
Redouane Kachach [Mon, 27 Apr 2026 07:51:58 +0000 (09:51 +0200)]
Merge pull request #68164 from phlogistonjohn/jjm-cephadm-smb-deps-action

cephadm: add get_dependencies to smb service class

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 months agoMerge pull request #68608 from tchaikov/wip-minimal-release
Kefu Chai [Mon, 27 Apr 2026 06:01:12 +0000 (14:01 +0800)]
Merge pull request #68608 from tchaikov/wip-minimal-release

doc/rados: document require_osd_release and require_min_compat_client

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ville Ojamo <git2233+ceph@ojamo.eu>
2 months agoqa: Port rgw lifecycle test to crimson-rados 68407/head
Kautilya Tripathi [Tue, 9 Dec 2025 02:25:35 +0000 (02:25 +0000)]
qa: Port rgw lifecycle test to crimson-rados

This adds lifecycle qa tests of rgw to crimson-rados suite

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agocrimson/admin: avoid pg asok crashes 66993/head
Kautilya Tripathi [Mon, 27 Apr 2026 04:36:49 +0000 (10:06 +0530)]
crimson/admin: avoid pg asok crashes

Keep parsed command data alive while running hooks to avoid a
stack-use-after-return in Formatter::create().
Return -EAGAIN from PGCommand when the OSDMap is not ready.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agoqa/crimson: add pg subcommands workunit
Kautilya Tripathi [Wed, 8 Apr 2026 05:01:59 +0000 (10:31 +0530)]
qa/crimson: add pg subcommands workunit

Add a crimson workunit that validates pg query and list_unfound
including offset behavior, and wire it into the singleton suite.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agoqa/suites: add crimson pg-subcommands suite
Kautilya Tripathi [Tue, 31 Mar 2026 14:04:19 +0000 (19:34 +0530)]
qa/suites: add crimson pg-subcommands suite

Add a dedicated crimson-rados singleton suite yaml to run the
osd/pg-subcommands.sh standalone test.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agoqa/standalone: Add pg_subcommands test
Kautilya Tripathi [Tue, 27 Jan 2026 03:07:20 +0000 (08:37 +0530)]
qa/standalone: Add pg_subcommands test

This adds test script for pg subcommands like query, log, scrub,
deep-scrub, list-unfound. It compares the output between classic and
crimson.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agocrimson: Add missing pg subcommands
Kautilya Tripathi [Tue, 27 Jan 2026 04:32:04 +0000 (10:02 +0530)]
crimson: Add missing pg subcommands

This adds log, deep-scrub, listunfound pg subcommands to crimson

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agocrimson: add pg subcommands support in CLI
Kautilya Tripathi [Tue, 20 Jan 2026 13:24:38 +0000 (18:54 +0530)]
crimson: add pg subcommands support in CLI

Crimson OSD was missing the PG admin/tell hooks that classic OSD exposes, and it
did not accept the legacy `rados_pg_command()` / `ceph pg <pgid> <cmd>` JSON form
(e.g. `{"prefix":"pg","pgid":"1.0","cmd":"query",...}`), so `ceph pg <pgid> query`
failed.

Adds a `pg` old-form wrapper hook that exists to advertise that exists
to advertise the classic `pgid` + `cmd` + optional `arg` signature. The
runtime dispatch rewrites this to the real subcommand.

This updates parse_cmd  to rewrite `prefix=pg` requests to the requested
subcommand and remap the generic `arg` field to the concrete parameter
names (`offset` for `list_unfound`, `mulcmd` for `mark_unfound_lost`)
so validation/parsing is unambiguous.

Fixes: https://tracker.ceph.com/issues/73266
Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
2 months agoMerge pull request #67372 from knrt10/wip-crimson-rgw-multifs
Kautilya Tripathi [Mon, 27 Apr 2026 04:11:14 +0000 (09:41 +0530)]
Merge pull request #67372 from knrt10/wip-crimson-rgw-multifs

qa: Port rgw multifs test to crimson-rados

2 months agoMerge pull request #68341 from ronen-fr/wip-rf-dev3-crimson
Ronen Friedman [Mon, 27 Apr 2026 04:09:55 +0000 (07:09 +0300)]
Merge pull request #68341 from ronen-fr/wip-rf-dev3-crimson

crimson/osd: move to a unified on-device super-block structure

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agodoc/rados: document require_osd_release 68608/head
Kefu Chai [Fri, 24 Apr 2026 13:41:29 +0000 (21:41 +0800)]
doc/rados: document require_osd_release

Add a standalone concept page for the OSDMap require_osd_release field,
the upgrade-gate counterpart to require_min_compat_client. Cover:

 - how to set it and how to check it;
 - the full set of pre-commit guards the monitor runs, rendered as a
   table with each guard's error text and bypass status;
 - which commands and features become available as the flag is raised,
   per release;
 - the OSD boot window that refuses OSDs more than two releases ahead
   of the flag;
 - the OSD_UPGRADE_FINISHED health warning that prompts admins to set
   the flag after an upgrade;
 - the initial value on new clusters and the two mon_debug_* knobs
   that override it for testing.

Also cross-link the new page from the related-flags table on
require-min-compat-client.rst, and from the rados operations index.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 months agodoc/rados: document require_min_compat_client
Kefu Chai [Fri, 24 Apr 2026 13:16:00 +0000 (21:16 +0800)]
doc/rados: document require_min_compat_client

Add a standalone concept page for the OSDMap require_min_compat_client
field, covering: how to set and check it, the non-monotonic lowering
behavior (with the features-in-use floor derived from
OSDMap::get_min_compat_client()), and the operator commands it gates.
Include tables for the floor-pinning features and the flag-gated
commands, so operators can reason about transitions without reading
OSDMonitor.cc.

Cross-reference to the CephFS per-filesystem required_client_features
mechanism, which is the MDSMap-side equivalent for client-protocol
features. Add an anchor on the existing CephFS Required Client Features
section so the cross-reference resolves.

Link the new page from the rados operations index.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 months agoMerge pull request #68394 from yuvalif/wip-yuval-75928
Yuval Lifshitz [Sun, 26 Apr 2026 14:38:24 +0000 (17:38 +0300)]
Merge pull request #68394 from yuvalif/wip-yuval-75928

rgw/kafka: setting maximum batch size when sending messages

2 months agodoc: document ceph nvmeof CLI subcommands for target configuration 68618/head
oduameh [Sun, 26 Apr 2026 13:22:55 +0000 (14:22 +0100)]
doc: document ceph nvmeof CLI subcommands for target configuration

Replaces verbose podman run container commands with native ceph nvmeof
CLI subcommands. The nvmeof-cli container approach is preserved as an
alternative in a note block, with a clarification that its option names
differ from the ceph nvmeof CLI.

Fixes: https://tracker.ceph.com/issues/76042
Signed-off-by: Emmanuel Ameh <oduameh@users.noreply.github.com>
Signed-off-by: oduameh <oduameh@users.noreply.github.com>
2 months agoMerge pull request #68127 from Matan-B/wip-matanb-seastore-conflict-user-lba
Matan Breizman [Sun, 26 Apr 2026 07:36:53 +0000 (10:36 +0300)]
Merge pull request #68127 from Matan-B/wip-matanb-seastore-conflict-user-lba

crimson/os/seastore: Prepare no invalidation to LBA user txns

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
2 months agotest/rgw/kafka: make batch size tests manual 68394/head
Yuval Lifshitz [Sun, 26 Apr 2026 07:15:03 +0000 (07:15 +0000)]
test/rgw/kafka: make batch size tests manual

currently failing in teuthology

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
2 months agorgw/kafka: setting maximum batch size when sending messages
Yuval Lifshitz [Mon, 20 Apr 2026 14:06:25 +0000 (14:06 +0000)]
rgw/kafka: setting maximum batch size when sending messages

Fixes: https://tracker.ceph.com/issues/75928
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
2 months agoMerge PR #68582 into main
Patrick Donnelly [Sat, 25 Apr 2026 14:05:32 +0000 (19:35 +0530)]
Merge PR #68582 into main

* refs/pull/68582/head:
script/ptl-tool: improve help messages during startup

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Yaarit Hatuka <yaarithatuka@gmail.com>
2 months agoqa/lsan.supp: suppress CPython 3.10 interpreter shutdown leaks 68615/head
Kefu Chai [Sat, 25 Apr 2026 09:36:37 +0000 (17:36 +0800)]
qa/lsan.supp: suppress CPython 3.10 interpreter shutdown leaks

When building with ASan, it reports leaks in five tests that exercise
CPython 3.10 either as an external process (bin/ceph) or embedded in
unittests:

   #36  smoke.sh                    (timeout, via bin/ceph)
  #205  unittest_mgr_pyformatter    (libpython3.10.so embedded)
  #206  unittest_mgr_pyutil         (libpython3.10.so embedded)
  #210  mgr-dashboard-smoke.sh      (via bin/ceph)
  #225  safe-to-destroy.sh          (via bin/ceph)

A representative stack from #210:

  Direct leak of 25846 byte(s) in 28 object(s) allocated from:
    #0  malloc
    #1  /usr/bin/python3.10+0x16d7be
  Direct leak of 20456 byte(s) in 29 object(s):
    #1  PyDict_Copy /usr/bin/python3.10+0x16ae06
  Direct leak of 8456 byte(s) in 14 object(s):
    #1  _PyObject_GC_NewVar /usr/bin/python3.10+0x14fc57

The unittests show the same shape against /lib/.../libpython3.10.so.

These are CPython 3.10 runtime artefacts, not Ceph bugs.  In CPython
3.10, Py_FinalizeEx() leaves a set of interpreter-internal allocations
(module namespace dict copies, GC-tracked variable-size containers,
type-method caches, interned strings) heap-allocated until process
exit; the OS reclaims them.  PEP 683 (Immortal Objects, accepted for
Python 3.12) extends pylifecycle.c::finalize_modules() to deallocate
these remaining objects during runtime shutdown:

  "During runtime shutdown, the strategy will be to first let the
  runtime try to do its best effort of deallocating these instances
  normally.  Most of the module deallocation will now be handled by
  pylifecycle.c:finalize_modules() where we clean up the remaining
  modules as best as we can."
                            -- PEP 683, https://peps.python.org/pep-0683/

The qa/lsan.supp file has carried the empirical note "python3.12
doesn't leak anything" since the file was introduced (commit
8c099a534044bf, "asan: add qa/lsan.supp for leak sanitizer
suppressions", Mar 2023).  An empirical reproduction with a minimal
Py_Initialize()/Py_FinalizeEx() program built against Python 3.13
under -fsanitize=address reports zero leaks; the same minimal test
against Python 3.10 (CI environment) reports the leaks shown above.

Add three suppressions to qa/lsan.supp's existing 3.9-3.11 block:

 - leak:^PyDict_Copy and leak:^_PyObject_GC_NewVar match the two
   exported CPython functions visible in the leak stacks.
 - leak:python3.10 substring-matches the module path in the stack
   frame, catching unsymbolised offsets in both the /usr/bin/python3.10
   binary and the libpython3.10.so.1.0 shared object.  Mirrors the
   existing leak:libsqlite3.so pattern earlier in the file.

The whole block (including the existing PyMem_Malloc entry above) can
be removed once CI runs on Python >= 3.12.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 months agotest/osd: fix Message and Connection refcount leaks 68614/head
Kefu Chai [Sat, 25 Apr 2026 04:43:24 +0000 (12:43 +0800)]
test/osd: fix Message and Connection refcount leaks

unittest_backend_basics and unittest_ecfailover_with_peering fail under
ASan with megabytes of leaks per run, all originating in MockMessenger
and the listeners that feed into it.  A representative LSan stack:

  Indirect leak of 2342912 byte(s) in 572 object(s) allocated from:
    #1  ceph::buffer::raw_combined::alloc_data_n_controlblock
        src/common/buffer.cc:114
    #7  MOSDPGLease::encode_payload                src/messages/MOSDPGLease.h:54
    #8  Message::encode                            src/msg/Message.cc:242
    #9  MockMessenger::send_message                src/test/osd/MockMessenger.h:159
    #10 MockPeeringListener::send_cluster_message  src/test/osd/MockPeeringListener.h:193
    #11 PeeringState::send_lease                   src/osd/PeeringState.cc:1305

Three add_ref/consume mismatches conspire to leak the sender Message,
the decoded receiver Message, and its MockConnection:

 - MockPGBackendListener::send_message receives a raw `m` with its +1
   from `new T(...)` and wraps it in `MessageRef(m)` with the default
   add_ref=true, bumping instead of consuming the +1.  Switch to
   add_ref=false.
 - MockPeeringListener::send_cluster_message detaches an intrusive_ptr
   into a raw pointer and then hands it to MockMessenger, which bumps
   with add_ref=true; the +1 transferred via detach() is never
   consumed.  Pass `m.get()` so the caller's intrusive_ptr keeps
   ownership and releases on scope exit.
 - MockMessenger's receiver lambda lets decode_message()'s +1 (the
   Ceph convention) fall out of scope, and constructs the
   `new MockConnection(from_osd)` ConnectionRef with the default
   add_ref=true so the +1 from `new` leaks too.  Construct
   ConnectionRef with add_ref=false, and wrap the decoded Message in a
   `MessageRef{decoded_msg, /*add_ref=*/false}` so the smart pointer
   releases the +1 on every exit path.

While at it, switch the handler API from raw `Message*` / `MsgType*`
to `MessageRef` / `boost::intrusive_ptr<MsgType>` so lifetime is
managed by the smart pointer end-to-end.  Handlers that need to extend
the Message's lifetime call `m.detach()` to transfer the +1 to the
raw pointer the consumer takes ownership of: e.g. OpRequest stores
`Message*` and put()s in its destructor, so PGBackendTestFixture.cc
now passes `m.detach()` into `create_request<OpRequest, Message*>(...)`
in place of an explicit `intrusive_ptr_add_ref(m)` followed by `m`.
The peering handler in ECPeeringTestFixture.cc does not store the
Message; it just lets the typed intrusive_ptr drop on scope exit.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 months agoMerge pull request #68606 from tchaikov/wip-doc-silence-warning
Kefu Chai [Sat, 25 Apr 2026 05:06:44 +0000 (13:06 +0800)]
Merge pull request #68606 from tchaikov/wip-doc-silence-warning

doc/scripts: use raw string for regex in gen_state_diagram.py

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agoMerge pull request #68366 from ljflores/wip-tracker-74517
Laura Flores [Fri, 24 Apr 2026 19:12:03 +0000 (14:12 -0500)]
Merge pull request #68366 from ljflores/wip-tracker-74517

qa/suites/rados: temporarily disable ceph-post-file test

Reviewed-by: Sridhar Seshasayee <Sridhar.Seshasayee@ibm.com>
2 months agomgr/dashboard: Improve oauth2 sso configuration 67417/head
Alexandre JARDON [Fri, 24 Apr 2026 09:05:22 +0000 (11:05 +0200)]
mgr/dashboard: Improve oauth2 sso configuration
Add possibility to configure email_domains and scope parameters in oauth2 sso configuration
Fixes: https://tracker.ceph.com/issues/75020
mgr/dashboard: Fix oauth2 sso missing jti claim review
Fixes: https://tracker.ceph.com/issues/75022
mgr/dashboard: Improve oauth2 sso configuration
Add possibility to configure ssl_insecure_skip_verify parameter in oauth2 sso configuration
Fixes: https://tracker.ceph.com/issues/75984
Signed-off-by: Alexandre Jardon <alexandre.jardon@webalex.eu>
2 months agodoc/scripts: use raw string for regex in gen_state_diagram.py 68606/head
Kefu Chai [Fri, 24 Apr 2026 13:34:43 +0000 (21:34 +0800)]
doc/scripts: use raw string for regex in gen_state_diagram.py

Python 3.12 emits SyntaxWarning for invalid escape sequences in ordinary
string literals. The re.search() call on line 162 was the only pattern
in the file passed as a non-raw string, causing:

  doc/scripts/gen_state_diagram.py:162: SyntaxWarning: invalid escape
    sequence '\s'
    i = re.search("return\s+transit<\s*(\w*)\s*>()", line)

Add the r"" prefix to match the other re.search / re.finditer / re.sub
call sites in the same file. No behavior change; \s was already being
interpreted as a regex whitespace class because Python leaves unknown
escapes untouched, but this will become a SyntaxError in a future
Python release.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 months agoMerge pull request #68576 from rhcs-dashboard/fix-76239-main
Aashish Sharma [Fri, 24 Apr 2026 12:14:18 +0000 (17:44 +0530)]
Merge pull request #68576 from rhcs-dashboard/fix-76239-main

mr/dashboard: remove rgw_servers filter from radosgw-sync-overview grafana dashboard

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 months agorgw: multisite sync data_log error handling broken in tentacle 68601/head
aza547 [Fri, 24 Apr 2026 11:41:35 +0000 (12:41 +0100)]
rgw: multisite sync data_log error handling broken in tentacle

The data_log error handling was broken in a recent refactor such that it
is not tolerant of missing data_log rados objects. This restores the
tolerant behaviour.

Fixes: https://tracker.ceph.com/issues/76228
Signed-off-by: Alexander Hussein-Kershaw <alexander.husseinkershaw@alianza.com>
2 months agorgw/lc: add coroutine support for cloud-transition and cloud-restore 68453/head
Matthew N. Heler [Fri, 17 Apr 2026 18:13:52 +0000 (13:13 -0500)]
rgw/lc: add coroutine support for cloud-transition and cloud-restore

LCWorker's cloud-tiering was blocking the io_context on every HTTP
call, so rgw_lc_max_wp_worker coroutines ended up running one at a
time instead of in parallel. Same story on the restore side.

Pass the worker's optional_yield through RGWLCCloudTierCtx and use it
from the stream classes, the multipart and status-obj helpers, and
cloud_tier_restore. Transitions and restores now actually yield.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 months agoceph-volume: pass --set-keepcaps for FCM crush device class on mkfs 68595/head
Guillaume Abrioux [Fri, 24 Apr 2026 09:08:09 +0000 (11:08 +0200)]
ceph-volume: pass --set-keepcaps for FCM crush device class on mkfs

When preparing the ceph-osd --mkfs command for BlueStore OSDs, add
--set-keepcaps true if crush_device_class is fcm.

Fixes: https://tracker.ceph.com/issues/76252
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 months agoMerge pull request #68483 from rhcs-dashboard/fix-smb-mgrdb
Pedro Gonzalez Gomez [Fri, 24 Apr 2026 08:48:36 +0000 (10:48 +0200)]
Merge pull request #68483 from rhcs-dashboard/fix-smb-mgrdb

mgr: fix continous smb MgrDBNotReady

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 months agoceph-volume: add tests for raw prepare --osd-fsid 68338/head
Guillaume Abrioux [Fri, 24 Apr 2026 08:19:11 +0000 (10:19 +0200)]
ceph-volume: add tests for raw prepare --osd-fsid

Add unit tests to cover the raw prepare help text for --osd-fsid,
assert generate_uuid is used when no osd_fsid is supplied and
assert an externally provided osd_fsid is passed through to
create_id without generating a new UUID.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 months agoceph-volume: add --osd-fsid support to raw mode prepare
Duanming Zhou [Sun, 12 Apr 2026 07:40:40 +0000 (07:40 +0000)]
ceph-volume: add --osd-fsid support to raw mode prepare

The LVM mode already supports --osd-fsid to allow external tools
(e.g., Kubernetes operators) to pre-register an OSD ID+UUID via
"ceph osd new" and then pass both to ceph-volume, ensuring the
operator retains full control of the OSD ID lifecycle and can
reliably clean up on prepare failure (no orphan OSDs).

The raw mode was missing this support: prepare() unconditionally
called system.generate_uuid(), ignoring any --osd-fsid value.
When an operator pre-registered osd.N with uuid_A and then ran
"ceph-volume raw prepare --osd-id N --dmcrypt", ceph-volume
generated uuid_B internally and called "ceph osd new uuid_B N",
which failed with EINVAL because the ID was already registered
with a different UUID.

This commit:
- Adds --osd-fsid argument to the raw mode argument parser
  (devices/raw/common.py), consistent with the LVM mode.
- Changes raw.prepare() to honor an externally provided osd_fsid,
  falling back to generate_uuid() only when none is given
  (objectstore/raw.py), consistent with the LVM mode.

Signed-off-by: Duanming Zhou <zhouduanming@gmail.com>
2 months agocrimson/tools: add dump-superblock command to crimson_objectstore_tool 68341/head
Ronen Friedman [Mon, 30 Mar 2026 06:55:58 +0000 (06:55 +0000)]
crimson/tools: add dump-superblock command to crimson_objectstore_tool

We now also check magic before attempting full decode
so that non-crimson or corrupt devices produce a clean
error instead of a decode exception.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agocrimson/tests: fix unitest-seastore-randomblock-manager
Ronen Friedman [Mon, 16 Mar 2026 13:47:27 +0000 (13:47 +0000)]
crimson/tests: fix unitest-seastore-randomblock-manager

test following a change to the device header block.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agocrimson/osd: use a unified super-block for devices
Ronen Friedman [Mon, 9 Mar 2026 17:23:18 +0000 (17:23 +0000)]
crimson/osd: use a unified super-block for devices

This commit refactors the on-hardware super-block structure
used by the seastore to a unified format that
can accommodate all three device types (HDD, ZBD, RBM).

All devices now have a 60 bytes header at address 0,
similar to the existing BlueStore layout. A 23-byte magic
string ("CRIMSON_DEVICE") is placed at the beginning of
the header, followed by 37 bytes of null padding (to
match the existing 60 bytes of the super-block), and
then the DENC-encoded device_superblock_t structure starting
at offset 60.

A unified device_config_t is now used for all device types.

The per-shard data structure is also unified, now including a union
of all relevant fields for each device type.

We are also adding a check for the super-block magic value in the
RBMDevice::read_rbm_superblock() method, similar to the existing check
in SegmentManager::read_segment_manager_superblock().

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agorgw/bucket-logging: handle SigV2 presigned URLs 68540/head
Nithya Balachandran [Wed, 22 Apr 2026 09:31:34 +0000 (09:31 +0000)]
rgw/bucket-logging: handle SigV2 presigned URLs

Presigned URLs using SigV2 do not contain x-amz-credential causing the
log record field Authentication Type to be incorrectly set to '-'.
This has been fixed to check for the presence of the x-amz-expires and Expires
parameters instead.

Fixes: https://tracker.ceph.com/issues/76206
Signed-off-by: Nithya Balachandran <nithya.balachandran@ibm.com>
2 months agoMerge PR #68555 into main
Patrick Donnelly [Thu, 23 Apr 2026 23:42:05 +0000 (19:42 -0400)]
Merge PR #68555 into main

* refs/pull/68555/head:
script/redmine-upkeep: resolve comment misformatting

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 months agoscript/ptl-tool: improve help messages during startup 68582/head
Patrick Donnelly [Thu, 23 Apr 2026 23:40:13 +0000 (19:40 -0400)]
script/ptl-tool: improve help messages during startup

For newer folks who've never run it before.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agoCODEOWNERS: add an smb group for various smb related files 68578/head
John Mulligan [Thu, 23 Apr 2026 21:37:28 +0000 (17:37 -0400)]
CODEOWNERS: add an smb group for various smb related files

Add a new smb group that covers parts of orch that manage smb as well as
the cephfs proxy. This will help automatically notify smb focused devs
on PRs.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 months agoMerge pull request #68414 from guits/has_bs_repl
Guillaume Abrioux [Thu, 23 Apr 2026 20:16:28 +0000 (22:16 +0200)]
Merge pull request #68414 from guits/has_bs_repl

ceph-volume: has_bluestore_label checks all bluestore label replica o…

2 months agorgw: account presigned POST bytes_received in usage log 68571/head
Lumir Sliva [Thu, 23 Apr 2026 11:18:18 +0000 (13:18 +0200)]
rgw: account presigned POST bytes_received in usage log

Presigned POST uploads reported bytes_received=0 in the usage log, while
equivalent PUT uploads reported the full object size.

The AccountingFilter starts disabled, and only the PUT path explicitly
enables it around its body read. POST bodies are consumed via
RGWPostObj_ObjStore::read_with_boundary, which did not toggle accounting
around its recv_body calls, so every byte pulled off the wire during
multipart parsing was silently dropped by the accounter.

Wrap the two recv_body calls in read_with_boundary with
ACCOUNTING_IO(s)->set_account(true/false), mirroring the PUT pattern in
RGWPutObj_ObjStore::get_data. POST uploads now account correctly; PUT
behavior is unchanged.

Signed-off-by: Lumir Sliva <61183145+lumir-sliva@users.noreply.github.com>
Tracker: https://tracker.ceph.com/issues/76157
Reported-by: Maxim Monin
2 months agoMerge pull request #66704 from ivancich/wip-document-object-manifest-cmd
J. Eric Ivancich [Thu, 23 Apr 2026 18:31:19 +0000 (14:31 -0400)]
Merge pull request #66704 from ivancich/wip-document-object-manifest-cmd

rgw: add internal docs for `radosgw-admin object manifest ...` sub-command

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agomr/dashboard: remove rgw_servers filter from radosgw-sync-overview grafana dashboard 68576/head
Aashish Sharma [Thu, 23 Apr 2026 16:17:41 +0000 (21:47 +0530)]
mr/dashboard: remove rgw_servers filter from radosgw-sync-overview grafana dashboard

Fixes: https://tracker.ceph.com/issues/76239
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2 months agorgw: read_obj_policy() consults s3:prefix when deciding between 403/404 68577/head
Casey Bodley [Thu, 23 Apr 2026 15:53:16 +0000 (11:53 -0400)]
rgw: read_obj_policy() consults s3:prefix when deciding between 403/404

when read_obj_policy() gets ENOENT, it only returns 404 NoSuchKey if the
requester has s3:ListBucket permission. however, policy that allows
s3:ListBucket may be conditional on the s3:prefix to restrict listings
to certain paths/object names. add the requested object name to the iam
environment as s3:prefix to match aws behavior here

Fixes: https://tracker.ceph.com/issues/74398
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agoMerge pull request #66432 from stzuraski898/unittests-mgr
stzuraski898 [Thu, 23 Apr 2026 14:52:23 +0000 (09:52 -0500)]
Merge pull request #66432 from stzuraski898/unittests-mgr

test/mgr: Improve unit-test coverage for ceph-mgr

Reviewed by: Nitzan Mordechai <nmordech@ibm.com>
Reviewed by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed by: Ronen Friedman <rfriedma@redhat.com>

2 months agoMerge pull request #68472 from yuvalif/wip-yuval-76127
Yuval Lifshitz [Thu, 23 Apr 2026 14:04:17 +0000 (17:04 +0300)]
Merge pull request #68472 from yuvalif/wip-yuval-76127

test/rgw/kafka: cleanup kafka tgz file

2 months agoqa/cephadm: zap raw devices before OSD deployment 68414/head
Guillaume Abrioux [Wed, 22 Apr 2026 21:02:10 +0000 (23:02 +0200)]
qa/cephadm: zap raw devices before OSD deployment

follow up on commit f3c938f5032885434dd2ab77f9b2e6bc05917f3c

```
2026-04-22T10:16:21.350 DEBUG:teuthology.orchestra.run.trial118:> sudo ceph-bluestore-tool zap-device --dev /dev/nvme3n1 --yes-i-really-really-mean-it
2026-04-22T10:16:21.358 INFO:teuthology.orchestra.run.trial118.stderr:sudo: ceph-bluestore-tool: command not found
```

ceph-bluestore-tool is not available on the host and must be run from within a container.

Instead, use `ceph-volume lvm zap` which internally calls `ceph-bluestore-tool zap-device`.

Fixes: https://tracker.ceph.com/issues/76238
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 months agoFix unit test 68549/head
Afreen Misbah [Thu, 23 Apr 2026 13:23:25 +0000 (18:53 +0530)]
Fix unit test

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 months agomgr/tox: adding coverage target to the main tox.ini 68570/head
Redouane Kachach [Thu, 23 Apr 2026 11:15:19 +0000 (13:15 +0200)]
mgr/tox: adding coverage target to the main tox.ini

Let's add a coverage target so we can measure this metric for mgr modules.

Usage examples:

Run coverage for a single module (percentages only):
  tox -e coverage -- cephadm
  tox -e coverage -- smb

Show uncovered line numbers:
  COVERAGE_REPORT=term-missing tox -e coverage -- cephadm

Generate a visual HTML report:
  COVERAGE_REPORT=html tox -e coverage -- cephadm
  firefox htmlcov/index.html

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
2 months agoMerge pull request #68541 from rhcs-dashboard/rgw-nfs-export-path-issue
Afreen Misbah [Thu, 23 Apr 2026 11:42:33 +0000 (17:12 +0530)]
Merge pull request #68541 from rhcs-dashboard/rgw-nfs-export-path-issue

mgr/dashboard: Difference in "path" value observed when rgw user level export created via dashboard vs cli

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
2 months agomgr/dashboard: Nvmeof gateway group should account for labels
Afreen Misbah [Thu, 23 Apr 2026 10:42:26 +0000 (16:12 +0530)]
mgr/dashboard: Nvmeof gateway group should account for labels

- updates gateway group sections to account for placement label

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 months agoMerge PR #65656 into main
Venky Shankar [Thu, 23 Apr 2026 10:19:55 +0000 (15:49 +0530)]
Merge PR #65656 into main

* refs/pull/65656/head:
client: do not allow zero‑length reads
src/test: test zero-length async-fsync read using ceph_ll_nonblocking_readv_writev
src/test: test zero-length async-fsync read using ll_preadv_pwritev

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2 months agoradosgw-admin: fix output of sync status 68567/head
aza547 [Thu, 23 Apr 2026 09:54:22 +0000 (10:54 +0100)]
radosgw-admin: fix output of sync status

In some error cases, the output of the radosgw-admin sync status
command is cut short because it is not flushed. This adds appropriate
flushing.

Fixes: https://tracker.ceph.com/issues/76228
Signed-off-by: Alexander Hussein-Kershaw <alexander.husseinkershaw@alianza.com>
2 months agocrimson/os/seastore: introduce stage_visibility_handoff 68127/head
Matan Breizman [Tue, 31 Mar 2026 09:30:25 +0000 (12:30 +0300)]
crimson/os/seastore: introduce stage_visibility_handoff

Generalize prepare_rewrite_publish_to_prior() into stage_visibility_handoff().

* introduce should_use_no_conflict_publish

* Replace is_rewrite_transaction() checks with should_use_no_conflict_publish(),
  so adding new no-conflict users becomes straightforward.

* Stop committing metadata (commit_state + sync_checksum) during prepare_record()
  (pre-commit). While it is correct for rewrite, doing it pre-commit doesn't buy
  us anything today because readers are still blocked until the publish finishes.

  Moving metadata commit to the after commit phase would also make future
  non-rewrite users easier to support.

This is a prep step for expanding no-conflict publish coverage.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #68562 from bluikko/wip-doc-sphinx-warnings-202604b 60683/head
bluikko [Thu, 23 Apr 2026 09:21:28 +0000 (16:21 +0700)]
Merge pull request #68562 from bluikko/wip-doc-sphinx-warnings-202604b

doc: fix Sphinx complaints

2 months agoMerge pull request #68529 from rhcs-dashboard/fix-step-3
Afreen Misbah [Thu, 23 Apr 2026 08:51:41 +0000 (14:21 +0530)]
Merge pull request #68529 from rhcs-dashboard/fix-step-3

mgr/dashboard: Allow moving to next when Bidirectional mode is chosen

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agodoc: fix Sphinx complaints 68562/head
Ville Ojamo [Thu, 23 Apr 2026 07:55:38 +0000 (14:55 +0700)]
doc: fix Sphinx complaints

Fix section title underlines in ec_stretch_cluster.rst.
Fix table that was not rendered at all in lua-scripting.rst.

Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
2 months agoMerge pull request #68469 from VallariAg/fix-top-image-name
Vallari Agrawal [Thu, 23 Apr 2026 07:12:48 +0000 (12:42 +0530)]
Merge pull request #68469 from VallariAg/fix-top-image-name

mgr/dashboard: show rados ns in 'ceph nvmeof top io'

2 months agoMerge pull request #68535 from bluikko/wip-doc-rados-troubleshooting-mon-backticks
bluikko [Thu, 23 Apr 2026 03:39:15 +0000 (10:39 +0700)]
Merge pull request #68535 from bluikko/wip-doc-rados-troubleshooting-mon-backticks

doc/rados: fix markup in troubleshooting-mon.rst

2 months agotest/mds: fix flaky RepeatedQuiesceAwait 68560/head
Kefu Chai [Sat, 18 Apr 2026 08:19:31 +0000 (16:19 +0800)]
test/mds: fix flaky RepeatedQuiesceAwait

The test has been flaky on loaded CI, failing at different assertions
depending on where the expiration budget runs out:

  [ RUN      ] QuiesceDbTest.RepeatedQuiesceAwait
  src/test/mds/TestQuiesceDb.cc:1112: Failure
  Expected equality of these values:
    ERR(115)
      Which is: Operation now in progress(115)
    run_request(...)
      Which is: Connection timed out(110)
  [  FAILED  ] QuiesceDbTest.RepeatedQuiesceAwait (627 ms)

The test proves its central invariant -- "await resets the expiration
timer" -- indirectly, by having the set survive a series of
sleep_for(expiration/2) + await pairs. With expiration=0.1s that
leaves only ~20ms above the 80ms consumed by the two 40ms
release-awaits, and the margin is regularly eaten by scheduler
jitter. A similar overrun inside the quiesce loop produces the other
variant, where sleep_for(expiration/2) overshoots and the gap
between two awaits exceeds the expiration.

The per-iteration budget needs to cover ~3 CFS schedule latencies
(test wakes from sleep_for, manager wakes on notify, test wakes on
completion) plus mutex/queue processing, which is roughly 20ms
nominal on Linux with sched_latency_ns=6ms and up to 30-40ms under
heavy contention. Kernels built with a lower CONFIG_HZ coarsen
ceph::coarse_real_clock's CLOCK_REALTIME_COARSE reads, but that
affects only read precision, not the dominant scheduling-latency
term.

Fix by:

1. Raising expiration from 0.1s to 0.2s, so the sleep=expiration/2
   margin is ~3x the worst-case per-iteration overhead.

2. Reducing the quiesce loop from 10 to 3 iterations, since three
   iterations already span 1.5x expiration cumulatively -- enough
   to prove the resets are extending the deadline.

3. Replacing the 2-iteration release-EINPROGRESS loop with a single
   release+await(sec(0)) and an at_age equality assertion, so
   "release does not reset the timer" is checked directly rather
   than inferred from multiple awaits racing the expiration.

4. Using await = 2*expiration for the final ETIMEDOUT so the
   expiration is guaranteed to fire inside the wait window rather
   than on its boundary.

5. Tracking at_age across the quiesce loop and asserting it advances.
   The loop's ASSERT_EQ(OK(),...) already fails if resets stop
   working, but the at_age check also catches regressions where
   at_age is updated to a stuck or stale value.

The test now runs in ~500ms, comparable to the original.

Fixes: https://tracker.ceph.com/issues/68543
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 months agomgr/dashboard: Persist labels and hosts in service form
Afreen Misbah [Thu, 23 Apr 2026 01:09:29 +0000 (06:39 +0530)]
mgr/dashboard: Persist labels and hosts in service form

Fixes https://tracker.ceph.com/issues/75280

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 months agomgr/dashboard: Fix service form to take into account labels
Afreen Misbah [Wed, 22 Apr 2026 13:06:21 +0000 (18:36 +0530)]
mgr/dashboard: Fix service form to take into account labels

Fixes https://tracker.ceph.com/issues/76215

- placement label for services takes only a single label
- when multiple labels or an array of labels is passed the service was not getting created

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 months agoMerge pull request #68547 from rhcs-dashboard/encryption-fix
Afreen Misbah [Thu, 23 Apr 2026 00:01:56 +0000 (05:31 +0530)]
Merge pull request #68547 from rhcs-dashboard/encryption-fix

mgr/dashboard: Encryption key not being passed in gateway group form

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agoMerge pull request #68531 from rhcs-dashboard/fix-step-2
Afreen Misbah [Wed, 22 Apr 2026 23:58:23 +0000 (05:28 +0530)]
Merge pull request #68531 from rhcs-dashboard/fix-step-2

mgr/dashboard: Validate no added hosts in second step

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agoMerge pull request #68525 from rhcs-dashboard/y-axis-are
Afreen Misbah [Wed, 22 Apr 2026 23:57:34 +0000 (05:27 +0530)]
Merge pull request #68525 from rhcs-dashboard/y-axis-are

mgr/dashboard: Round off y-axis value of area chart

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agotest/cli/radosgw-admin: align help golden with period/zone delete 68278/head
cheese-cakee [Wed, 22 Apr 2026 22:55:07 +0000 (04:25 +0530)]
test/cli/radosgw-admin: align help golden with period/zone delete

Update help.t expected output to match the inline help text updated in this PR: period rm -> period delete and zone rm -> zone delete.\n\nThis keeps the CLI golden test consistent with radosgw-admin --help output and addresses make check failures for this branch.

Signed-off-by: cheese-cakee <farzanaman99@gmail.com>
2 months agoceph-volume: has_bluestore_label checks all bluestore label replica offsets
Guillaume Abrioux [Thu, 16 Apr 2026 07:29:23 +0000 (09:29 +0200)]
ceph-volume: has_bluestore_label checks all bluestore label replica offsets

BlueStore replicates the block device label at fixed offsets (0 and
multiples of 1Gb up to 1000gb). has_bluestore_label() only read the
first 22 bytes, so disks with a wiped primary label but intact
replicas are missed.

with this commit, has_bluestore_label() scans each known offset with
seek/read and compares the ASCII prefix as bytes.

Fixes: https://tracker.ceph.com/issues/76060
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 months agoscript/redmine-upkeep: resolve comment misformatting 68555/head
Patrick Donnelly [Wed, 22 Apr 2026 17:43:26 +0000 (13:43 -0400)]
script/redmine-upkeep: resolve comment misformatting

See for example [1].

[1] https://github.com/ceph/ceph/pull/67343#issuecomment-4298533030

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agodoc/rados: fix markup in troubleshooting-mon.rst 68535/head
Ville Ojamo [Wed, 22 Apr 2026 05:01:42 +0000 (12:01 +0700)]
doc/rados: fix markup in troubleshooting-mon.rst

Double backticks do not stack with strong emphasis.
Use automatic emphasis instead.

Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
2 months agoMerge pull request #67019 from Jayaprakash-ibm/wip-object-fragmentation
Jaya Prakash [Wed, 22 Apr 2026 16:53:36 +0000 (22:23 +0530)]
Merge pull request #67019 from Jayaprakash-ibm/wip-object-fragmentation

os/bluestore: add static and runtime object fragmentation tracking

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoMerge pull request #68183 from rhcs-dashboard/set-motd
Aashish Sharma [Wed, 22 Apr 2026 16:43:47 +0000 (22:13 +0530)]
Merge pull request #68183 from rhcs-dashboard/set-motd

mgr/dashboard: Add option to set motd via api

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agoMerge pull request #68467 from ujjawal-ibm/filter-virtual-ram-devices
Guillaume Abrioux [Wed, 22 Apr 2026 15:28:25 +0000 (17:28 +0200)]
Merge pull request #68467 from ujjawal-ibm/filter-virtual-ram-devices

ceph-volume: skip /dev/ram* devices in inventory

2 months agoMerge pull request #68280 from xhernandez/proxy-fix-fscrypt-buffers
John Mulligan [Wed, 22 Apr 2026 14:51:47 +0000 (10:51 -0400)]
Merge pull request #68280 from xhernandez/proxy-fix-fscrypt-buffers

libcephfs_proxy: fix passed buffers for fscrypt functions

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
2 months agoos/bluestore: Fix collect_alerts 68416/head
Adam Kupczyk [Thu, 16 Apr 2026 09:38:44 +0000 (09:38 +0000)]
os/bluestore: Fix collect_alerts

In some cases bdev->collect_alerts() was called twice on the same device.
It happened when DB and SLOW are the same device.
Now only called once.

It made no difference when we just set alert string,
but with EXTBLKDEV we append warning message.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoos/bluestore: extblkdev related health warnings
Adam Kupczyk [Thu, 16 Apr 2026 09:36:03 +0000 (09:36 +0000)]
os/bluestore: extblkdev related health warnings

Replaced start error with health warnings:
EXTBLKDEV: plugin xxx not loaded
EXTBLKDEV: plugin xxx used on mkfs, but now uses plugin yyy

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoextblkdev/fcm: Replace errors with health warning
Adam Kupczyk [Thu, 16 Apr 2026 09:25:19 +0000 (09:25 +0000)]
extblkdev/fcm: Replace errors with health warning

Now plugin does not assert or fail to load,
but instead raises following health warnings:
EXTBLKDEV: multivolume fcm will not work properly
EXTBLKDEV: failed accessing FCM utilization log
EXTBLKDEV: bdev_enable_discard not enabled - free space will leak

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoextblkdev/fcm: Cleanup
Adam Kupczyk [Thu, 16 Apr 2026 09:22:08 +0000 (09:22 +0000)]
extblkdev/fcm: Cleanup

Add `override` to virtual interface functions.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoextblkdev: Fix preload
Adam Kupczyk [Thu, 16 Apr 2026 09:18:26 +0000 (09:18 +0000)]
extblkdev: Fix preload

One execution path did not save preload_result value.
Fixed now.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoblk/extblkdev: Health warns from ExtBlkDev plugins
Adam Kupczyk [Wed, 15 Apr 2026 10:59:46 +0000 (10:59 +0000)]
blk/extblkdev: Health warns from ExtBlkDev plugins

Expanded interface by collect_alerts.
Created category "EBD_PROBLEMS" for ExtBlkDev problems.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agoblk: Expand collect_alerts to allow specialization
Adam Kupczyk [Tue, 14 Apr 2026 17:57:42 +0000 (17:57 +0000)]
blk: Expand collect_alerts to allow specialization

Previously we had BlockDevice::collect_alerts that had fixed
implementation.
Expanded BlockDevice::collect_alerts into virtual, so KernelDevice can
override it.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agocls/test: Make function parameters by reference not by value 67422/head
Matty Williams [Thu, 19 Feb 2026 15:07:07 +0000 (15:07 +0000)]
cls/test: Make function parameters by reference not by value

Stops the cls_fifo.get_info test from Segmentation Faulting.

Fixes: https://tracker.ceph.com/issues/74648
Signed-off-by: Matty Williams <Matty.Williams@ibm.com>
2 months agosrc/crimson/seastore: improve block size validation assert message 68550/head
Shraddha Agrawal [Wed, 22 Apr 2026 13:29:27 +0000 (18:59 +0530)]
src/crimson/seastore: improve block size validation assert message

This commit changes the error message emitted when the device's block
size is lesser than the minimum expected by seastore. This is done to
improve usability and provide an actionable error message.

Fixes: https://tracker.ceph.com/issues/76123
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2 months agoMerge pull request #68493 from rhcs-dashboard/76158-rgw-restart-stop-bug
Afreen Misbah [Wed, 22 Apr 2026 12:37:03 +0000 (18:07 +0530)]
Merge pull request #68493 from rhcs-dashboard/76158-rgw-restart-stop-bug

mgr/dashboard : Fix services restart/stop issue

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
2 months agomgr/dashboard: Difference in "path" value observed when rgw user level export created... 68541/head
Dnyaneshwari Talwekar [Wed, 22 Apr 2026 09:50:18 +0000 (15:20 +0530)]
mgr/dashboard: Difference in "path" value observed when rgw user level export created via dashboard vs cli

Fixes: https://tracker.ceph.com/issues/75425
Signed-off-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>