]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 weeks agorgw: simplify GCM key cache, IV layout, and endian encoding 67246/head
Matthew N. Heler [Wed, 8 Apr 2026 11:42:53 +0000 (06:42 -0500)]
rgw: simplify GCM key cache, IV layout, and endian encoding

Move the ISA-L GCM key cache to the heap with only a pointer in TLS.

Simplify the IV cursor to use hi=part_number, lo=chunk_index instead
of bit-packing both into a single field.

Replace manual byte-shifting in AAD encoding with boost::endian.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: write RGW_ATTR_CRYPT_PREFETCH_ALIGN for AEAD ciphers
Matthew N. Heler [Mon, 30 Mar 2026 23:44:36 +0000 (18:44 -0500)]
rgw: write RGW_ATTR_CRYPT_PREFETCH_ALIGN for AEAD ciphers

Store the plaintext and encrypted block sizes at upload time so
future cls prefetch ops can compute on-disk read ranges from
xattrs without instantiating a cipher.

Only written for size-expanding ciphers (GCM). CBC objects have
no attr — plaintext and ciphertext sizes are identical.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: add range projection helpers for encrypted and compressed objects
Matthew N. Heler [Sun, 29 Mar 2026 02:27:57 +0000 (21:27 -0500)]
rgw: add range projection helpers for encrypted and compressed objects

Add stateless helpers that project plaintext byte ranges to on-disk
byte ranges for compressed and encrypted objects. fixup_range()
delegates to these for range computation.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: use stored plaintext size for AEAD segment validation
Matthew N. Heler [Sun, 29 Mar 2026 18:48:01 +0000 (13:48 -0500)]
rgw: use stored plaintext size for AEAD segment validation

The SLO/DLO size check was converting encrypted size to plaintext
via rgw_get_aead_decrypted_size(), which overestimates for multipart
objects without CRYPT_PARTS. Use the stored CRYPT_ORIGINAL_SIZE
attr instead, it's exact and already in the attrs.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: add benchmark for GCM and CBC encrypt/decrypt throughput
Matthew N Heler [Fri, 27 Feb 2026 00:44:07 +0000 (18:44 -0600)]
rgw: add benchmark for GCM and CBC encrypt/decrypt throughput

Benchmark for measuring AES-256-CBC and AES-256-GCM throughput with
hardware acceleration. Supports multi-threaded runs across various
chunk sizes.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: replace GCM nonce with salt-based key derivation
Matthew N. Heler [Thu, 19 Mar 2026 01:46:26 +0000 (20:46 -0500)]
rgw: replace GCM nonce with salt-based key derivation

Move randomness from the GCM IV into key derivation. Each object
now gets a 32-byte random salt stored in RGW_ATTR_CRYPT_SALT, fed
into HMAC-SHA256 alongside bucket_id and object name to produce a
unique per-object key. The GCM IV is a deterministic counter from
the chunk position, which is safe because the key never repeats.

All GCM modes (SSE-C, SSE-KMS, SSE-S3, RGW-AUTO) now go through
derive_object_key() before any encrypt or decrypt operation.

Rename AES_GCM_NONCE_SIZE to AES_GCM_IV_SIZE across CryptoAccel
backends (isa-l, openssl, qat) to reflect what it actually is.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: use bucket_id instead of bucket name in GCM key derivation
Matthew N. Heler [Wed, 18 Mar 2026 23:51:49 +0000 (18:51 -0500)]
rgw: use bucket_id instead of bucket name in GCM key derivation

The bucket name isn't globally unique ie different tenants can
have the same bucket name. Using bucket_id (which is globally
unique and includes tenant context) prevent cross-tenant key
collisions in the HMAC-SHA256 derivation.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: optimize GCM encrypt/decrypt hot path
Matthew N. Heler [Sat, 21 Feb 2026 15:27:14 +0000 (09:27 -0600)]
rgw: optimize GCM encrypt/decrypt hot path

Reduce per-chunk overhead by hoisting accelerator resolution and
EVP context creation out of the chunk loop, replacing ct_memeq with
memcmp, linearizing input before the chunk loop, and eliminating
unnecessary tag copies in the ISA-L path. Also rewrites IV derivation
to use cached native arithmetic instead of a per-chunk byte-at-a-time
loop, and aligns the output buffer to 64 bytes for optimal SIMD stores.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agoqa/rgw: test GCM encryption in existing crypt and multisite suites
Matthew N. Heler [Wed, 4 Feb 2026 22:49:45 +0000 (16:49 -0600)]
qa/rgw: test GCM encryption in existing crypt and multisite suites

Add an aes facet to the rgw/crypt and rgw/multisite suites so
teuthology runs them with both the default cipher (CBC) and with
rgw_crypt_sse_algorithm set to aes-256-gcm.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: add GCM hardware acceleration support via CryptoAccel
Matthew N. Heler [Fri, 6 Feb 2026 13:51:28 +0000 (07:51 -0600)]
rgw: add GCM hardware acceleration support via CryptoAccel

Extend the CryptoAccel plugin system to support AES-256-GCM encryption,
following the same pattern established for CBC.

The CryptoAccel base class now includes GCM constants (12-byte nonce,
16-byte tag) and pure virtual methods for gcm_encrypt, gcm_decrypt,
and their batch variants. All derived classes must implement these
methods, maintaining consistency with how CBC is handled.

OpenSSL serves as the fallback when ISA-L is unavailable, using the
EVP API with proper AAD handling. QAT stubs return false since GCM
requires different session setup than CBC; a note has been added to
the QAT acceleration documentation clarifying this limitation.

The RGW integration follows the CBC pattern closely. The previous
gcm_encrypt_chunk and gcm_decrypt_chunk functions have been unified
into gcm_transform() with two overloads: one for EVP-only operation
and one that uses the accelerator exclusively when available, falling
back to EVP only when no accelerator can be loaded. Static assertions
ensure the nonce and tag sizes stay consistent between the acceleration
layer and RGW.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agorgw: add AES-256-GCM (AEAD) support for server-side encryption
Matthew N. Heler [Wed, 28 Jan 2026 04:06:17 +0000 (22:06 -0600)]
rgw: add AES-256-GCM (AEAD) support for server-side encryption

This adds GCM as an alternative to the existing CBC cipher for SSE-C,
SSE-KMS, SSE-S3, and RGW-AUTO. GCM provides authenticated encryption,
meaning it detects tampering during decryption rather than silently
returning corrupted data.

The new rgw_crypt_sse_algorithm config option controls which cipher is
used for new uploads. The default remains aes-256-cbc for backward
compatibility with older RGW versions in mixed clusters. Once all nodes
are upgraded, administrators can enable aes-256-gcm for new objects.
Existing CBC-encrypted objects continue to decrypt correctly regardless
of this setting.

GCM encrypts in 4KB chunks, each producing 4112 bytes of ciphertext
(4096 plaintext + 16-byte authentication tag). This means encrypted
objects are larger than their plaintext. To preserve correct behavior:
- RGW_ATTR_CRYPT_ORIGINAL_SIZE stores the plaintext size
- Content-Length and bucket listings report the plaintext size
- Range requests translate plaintext offsets to storage offsets

Each object gets a random 12-byte nonce stored in RGW_ATTR_CRYPT_NONCE.
This nonce serves two purposes: it's combined with chunk indices to
derive unique IVs for each encrypted block, and for SSE-C it's included
in the key derivation to bind ciphertext to object identity. Moving
encrypted data at the RADOS level causes decryption to fail rather than
silently producing garbage.

Multipart uploads derive per-part keys and use the S3 part number in
IV derivation to guarantee unique IVs across parts. The actual part
numbers are stored in RGW_ATTR_CRYPT_PART_NUMS during CompleteMultipart
to handle non-contiguous uploads (e.g., parts 1, 3, 5).

The implementation uses generic AEAD abstractions (is_aead_mode(),
aead_plaintext_to_encrypted_size(), etc.) so that adding other
authenticated ciphers like ChaCha20-Poly1305 in the future requires
only implementing the cipher itself—the size handling, range request
translation, and multipart machinery will work unchanged.

Originally-by: Kyle Bader <kbader@ibm.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
3 weeks agoMerge pull request #68962 from afreen23/remove-fa
Afreen Misbah [Wed, 20 May 2026 17:57:32 +0000 (23:27 +0530)]
Merge pull request #68962 from afreen23/remove-fa

mgr/dashboard: Remove font awesome icon package

Reviewed-by: Nizamudeen A <nia@redhat.com>
3 weeks agoMerge pull request #68796 from ronen-fr/wip-rf-snapreset-crimson
Ronen Friedman [Wed, 20 May 2026 11:05:09 +0000 (14:05 +0300)]
Merge pull request #68796 from ronen-fr/wip-rf-snapreset-crimson

Crimson/osd/snap-mapper: flush pending writes on pg interval change

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #68880 from ronen-fr/wip-rf-asokassert-crimson
Ronen Friedman [Wed, 20 May 2026 10:50:04 +0000 (13:50 +0300)]
Merge pull request #68880 from ronen-fr/wip-rf-asokassert-crimson

crimson/osd,qa: support and test the 'assert' ASOK command

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #67010 from bluikko/wip-doc-radosgw-ref-links-split5
bluikko [Wed, 20 May 2026 09:12:26 +0000 (16:12 +0700)]
Merge pull request #67010 from bluikko/wip-doc-radosgw-ref-links-split5

doc/radosgw: change all intra-docs links to use ref (6 of 6)

3 weeks agoMerge pull request #67008 from bluikko/wip-doc-radosgw-ref-links-split3
bluikko [Wed, 20 May 2026 09:09:48 +0000 (16:09 +0700)]
Merge pull request #67008 from bluikko/wip-doc-radosgw-ref-links-split3

doc/radosgw: change all intra-docs links to use ref (4 of 6)

3 weeks agoMerge pull request #68991 from bill-scales/dev_doc_index
Bill Scales [Wed, 20 May 2026 09:02:04 +0000 (10:02 +0100)]
Merge pull request #68991 from bill-scales/dev_doc_index

doc/dev/internals: Improve Ceph Internals TOC

Reviewed-by: Ville Ojamo <git2233+ceph@ojamo.eu>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
3 weeks agoMerge pull request #68728 from Hezko/bugfix-14187
Hezko [Wed, 20 May 2026 07:33:12 +0000 (10:33 +0300)]
Merge pull request #68728 from Hezko/bugfix-14187

mgr/dashboard: raise an error when invalid server-address was provided

3 weeks agoMerge pull request #67700 from mheler/wip-lc-versioned-deletes
anrao19 [Wed, 20 May 2026 06:10:21 +0000 (11:40 +0530)]
Merge pull request #67700 from mheler/wip-lc-versioned-deletes

rgw: group lifecycle versioned deletes to reduce OLH contention

3 weeks agoMerge pull request #68575 from benhanokh/dedup_filter_buckets_and_sc
Gabriel Benhanokh [Wed, 20 May 2026 06:08:08 +0000 (09:08 +0300)]
Merge pull request #68575 from benhanokh/dedup_filter_buckets_and_sc

rgw/dedup: add --allow/deny lists for bucket/storage-class

3 weeks agoMerge pull request #65611 from NitzanMordhai/wip-nitzan-autotune-mgr-stats-period
NitzanMordhai [Wed, 20 May 2026 05:05:16 +0000 (08:05 +0300)]
Merge pull request #65611 from NitzanMordhai/wip-nitzan-autotune-mgr-stats-period

mgr/DaemonServer: auto-tune stats period when message queue gets backed up

Reviewed-by: Sridhar Seshasayee <sridhar.seshasayee@ibm.com>
4 weeks agoMerge PR #68987 into main
Patrick Donnelly [Wed, 20 May 2026 00:30:23 +0000 (20:30 -0400)]
Merge PR #68987 into main

* refs/pull/68987/head:
script/ptl-tool: use provided base even in conflict

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
4 weeks agoMerge pull request #68810 from tchaikov/doc-min-compat-client-kernel
Kefu Chai [Tue, 19 May 2026 23:57:50 +0000 (07:57 +0800)]
Merge pull request #68810 from tchaikov/doc-min-compat-client-kernel

doc/rados: add kernel client notes to require_min_compat_client

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
4 weeks agoMerge pull request #68997 from tchaikov/wip-debian-strip-osd
Casey Bodley [Tue, 19 May 2026 22:13:38 +0000 (18:13 -0400)]
Merge pull request #68997 from tchaikov/wip-debian-strip-osd

debian/rules: strip ceph-osd-classic and ceph-osd-crimson

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 weeks agoMerge pull request #68966 from anthonyeleven/nobuild
Anthony D'Atri [Tue, 19 May 2026 19:14:01 +0000 (12:14 -0700)]
Merge pull request #68966 from anthonyeleven/nobuild

doc/start: Clarify doc building and begin list of conventions

4 weeks agoMerge pull request #68799 from tchaikov/debian-cephfs-top-manpage
Kefu Chai [Tue, 19 May 2026 15:24:33 +0000 (23:24 +0800)]
Merge pull request #68799 from tchaikov/debian-cephfs-top-manpage

debian: package manpage for cephfs-top

Reviewed-by: John Mulligan <jmulligan@redhat.com>
4 weeks agomgr/DaemonServer: auto-tune stats period when message queue gets backed up 65611/head
Nitzan Mordechai [Thu, 18 Sep 2025 05:16:51 +0000 (05:16 +0000)]
mgr/DaemonServer: auto-tune stats period when message queue gets backed up

The mgr can get overwhelmed when there's a lot of cluster activity and
daemons are sending stats reports faster than we can process them.
This commit adds logic to monitor the messenger queue depth and bump
up mgr_stats_period when things get congested. This reduces the
frequency of daemon stat reports, allowing the mgr to process existing
reports without being overwhelmed by new ones. The period automatically
scales back down when the queue clears up.

Added mgr_stats_period_autotune (on by default) and a queue threshold
setting. Recovery happens automatically when the queue clears up.
Max period is capped at 60 seconds to prevent excessive stat delays.

Fixes: https://tracker.ceph.com/issues/73151
Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
4 weeks agoMerge pull request #68137 from lumir-sliva/fix/rgw-replication-duplicate-arn
Casey Bodley [Tue, 19 May 2026 13:37:36 +0000 (09:37 -0400)]
Merge pull request #68137 from lumir-sliva/fix/rgw-replication-duplicate-arn

rgw: avoid doubled ARN in GetBucketReplication for pre-existing data

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 weeks agodebian/rules: strip ceph-osd-classic and ceph-osd-crimson 68997/head
Kefu Chai [Tue, 19 May 2026 12:58:10 +0000 (20:58 +0800)]
debian/rules: strip ceph-osd-classic and ceph-osd-crimson

override_dh_strip enumerates each binary package explicitly. It was not
updated when ceph-osd was split into the ceph-osd-classic and
ceph-osd-crimson implementation packages, so the OSD binaries in those
two packages are shipped unstripped (ceph-osd-crimson installs at ~4.6
GiB) and their -dbg packages are left empty.

Add the missing dh_strip invocations so the OSD binaries are stripped
and their debug symbols land in the corresponding -dbg packages, as is
already done for every other binary package.

Fixes: a37b5b5bde8c
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
4 weeks agomgr/dashboard: fix remaining FA icon references and test failures 68962/head
Afreen Misbah [Mon, 18 May 2026 20:06:35 +0000 (01:36 +0530)]
mgr/dashboard: fix remaining FA icon references and test failures

- Fix icon size mismatches and HTML lint errors
- Fix remaining FA icon references in tests
- Replace FA icons with Carbon in upgrade component:
  use cds-inline-loading for spinners, cd-icon for status icons
- Update test selectors for Carbon icon queries

Fixes: https://tracker.ceph.com/issues/76631
Signed-off-by: Afreen Misbah <afreen23@gmail.com>
Assisted-by: Claude
4 weeks agomgr/dashboard: fix filter icon alignment in table toolbar
Afreen Misbah [Sun, 17 May 2026 16:43:59 +0000 (22:13 +0530)]
mgr/dashboard: fix filter icon alignment in table toolbar

Replace Bootstrap inline styles with proper CSS class for filter
icon and select dropdowns alignment. Created filter-wrapper class
to properly align filter icon with select elements using flexbox.

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
4 weeks agomgr/dashboard: fix missing loader and zone group icon
Afreen Misbah [Sun, 17 May 2026 15:07:45 +0000 (20:37 +0530)]
mgr/dashboard: fix missing loader and zone group icon

- Add state="active" to cds-inline-loading in card-row component
  to properly show loading spinner for table row actions
- Replace parentChild icon with clusterIcon (web-services--cluster)
  for zone group representation in RGW multisite
- Remove parentChild from Icons enum and replace with
  WebServicesCluster in components.module.ts
- Import ComponentsModule in rgw.module.ts for cd-icon support

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
4 weeks agomgr/dashboard: update health-icon pipe tests for Carbon icons
Afreen Misbah [Sun, 17 May 2026 10:26:22 +0000 (15:56 +0530)]
mgr/dashboard: update health-icon pipe tests for Carbon icons

Update test expectations to match Carbon icon names instead of
fork-awesome class names:
- 'fa fa-check-circle' -> 'success'
- 'fa fa-exclamation-triangle' -> 'warningAltFilled'
- 'fa fa-exclamation-circle' -> 'error'

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
4 weeks agomgr/dashboard: replace icons.spin with Carbon loading components
Afreen Misbah [Sun, 17 May 2026 09:48:04 +0000 (15:18 +0530)]
mgr/dashboard: replace icons.spin with Carbon loading components

Replace fork-awesome spinner classes with appropriate Carbon loading components:

- cds-inline-loading: for inline spinners (action feedback, status updates)
  * table row actions (executing/removing)
  * upgrade status text/buttons
  * loading panel alerts

- cds-loading size="sm": for section data loading
  * tree view loading (crushmap, multisite-details, cephfs-directories)
  * progress component operations

- cds-loading size="lg": for dashboard/overview loading
  * rgw-overview-dashboard cards
  * multi-cluster overview

Added LoadingModule and InlineLoadingModule imports to:
- block.module.ts
- cephfs.module.ts
- cluster.module.ts
(rgw.module.ts and components.module.ts already had them)

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
4 weeks agomgr/dashboard: replace fork-awesome size classes with Carbon sizes
Afreen Misbah [Sun, 17 May 2026 09:19:06 +0000 (14:49 +0530)]
mgr/dashboard: replace fork-awesome size classes with Carbon sizes

Replace icons.large/large2x/large3x with Carbon icon sizes:
- icons.large -> icons.size24
- icons.large2x -> icons.size32
- icons.large3x -> icons.size32

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-overview-dashboard/rgw-overview-dashboard.component.html
     - rebase conflicts

4 weeks agomgr/dashboard: remove fork-awesome package dependency
Afreen Misbah [Sun, 17 May 2026 01:13:30 +0000 (06:43 +0530)]
mgr/dashboard: remove fork-awesome package dependency

- Remove fork-awesome 1.2.0 from dependencies
- Update package-lock.json accordingly

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
4 weeks agomgr/dashboard: remove font awesome references
Afreen Misbah [Sun, 17 May 2026 00:14:41 +0000 (05:44 +0530)]
mgr/dashboard: remove font awesome references

- Remove .fa and .fa-* class styles from component SCSS files
- Remove FA icon spacing rules from global styles
- Clean up .fa-stack styles (FA stacking feature)
- Remove FA-specific color styles
- Remove FA icons

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
4 weeks agoMerge pull request #68986 from rhcs-dashboard/carbonize-rgw-dash
Afreen Misbah [Tue, 19 May 2026 12:54:27 +0000 (18:24 +0530)]
Merge pull request #68986 from rhcs-dashboard/carbonize-rgw-dash

mgr/dashboard: carbonize RGW overview dashboard

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 weeks agodoc/dev/internals: Improve Ceph Internals TOC 68991/head
Bill Scales [Tue, 19 May 2026 06:05:13 +0000 (07:05 +0100)]
doc/dev/internals: Improve Ceph Internals TOC

The Ceph internals section of the docs is a bit of a mess
as far as the table of contents is concerned. This commit
tries to add a bit more structure grouping topics by
area and trying to arrange them in a more logical order.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
4 weeks agoMerge PR #68816 into main
Patrick Donnelly [Tue, 19 May 2026 12:18:54 +0000 (08:18 -0400)]
Merge PR #68816 into main

* refs/pull/68816/head:
common/admin_socket: use POSIX timer for delayed signal delivery

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 weeks agoMerge PR #68560 into main
Patrick Donnelly [Tue, 19 May 2026 12:14:24 +0000 (08:14 -0400)]
Merge PR #68560 into main

* refs/pull/68560/head:
test/mds: fix flaky RepeatedQuiesceAwait

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agoMerge pull request #68988 from rhcs-dashboard/fix-tag-color-table
Afreen Misbah [Tue, 19 May 2026 11:18:16 +0000 (16:48 +0530)]
Merge pull request #68988 from rhcs-dashboard/fix-tag-color-table

mgr/dashboard: fix tag colors not applied in table cells

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 weeks agoMerge pull request #68478 from mheler/wip-bug-75958
mheler [Tue, 19 May 2026 11:03:31 +0000 (06:03 -0500)]
Merge pull request #68478 from mheler/wip-bug-75958

rgw/gc: mark rgw_gc_max_objs as startup-only

4 weeks agoMerge pull request #68213 from lumir-sliva/fix/mgr-perf-schema-empty-counters
SrinivasaBharathKanta [Tue, 19 May 2026 09:26:14 +0000 (14:56 +0530)]
Merge pull request #68213 from lumir-sliva/fix/mgr-perf-schema-empty-counters

mgr: guard close_section calls in get_perf_schema_python

4 weeks agomgr/dashboard: carbonize RGW overview dashboard 68986/head
Afreen Misbah [Tue, 19 May 2026 00:09:47 +0000 (05:39 +0530)]
mgr/dashboard: carbonize RGW overview dashboard

Fixes: https://tracker.ceph.com/issues/76684
Signed-off-by: Afreen Misbah <afreen23.git@gmail.com>
Assisted-by: Claude
4 weeks agoMerge pull request #67763 from kamoltat/wip-ksirivad-fix-cmpiler-warn
SrinivasaBharathKanta [Tue, 19 May 2026 09:17:33 +0000 (14:47 +0530)]
Merge pull request #67763 from kamoltat/wip-ksirivad-fix-cmpiler-warn

src/msg/async/Event: collect and ignore return value for read()

4 weeks agoMerge pull request #68952 from rhcs-dashboard/remove-ng-click-outside
Afreen Misbah [Tue, 19 May 2026 08:21:09 +0000 (13:51 +0530)]
Merge pull request #68952 from rhcs-dashboard/remove-ng-click-outside

mgr/dashboard: Remove `ng-click-outside` and `ngx-toast`

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 weeks agoMerge pull request #68872 from ceph/kchheda3-fix-build-break
Kefu Chai [Tue, 19 May 2026 04:18:34 +0000 (12:18 +0800)]
Merge pull request #68872 from ceph/kchheda3-fix-build-break

osd/test: Fix build breakage when WITH_EC_ISA_PLUGIN is OFF

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
4 weeks agorgw/dedup: dedup-filter - add empty-file validation, fix dump default param, fix... 68575/head
benhanokh [Mon, 18 May 2026 06:38:35 +0000 (09:38 +0300)]
rgw/dedup: dedup-filter - add empty-file validation, fix dump default param, fix typos

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
4 weeks agoMerge pull request #68946 from tchaikov/wip-doc-vstart
Kefu Chai [Tue, 19 May 2026 02:41:48 +0000 (10:41 +0800)]
Merge pull request #68946 from tchaikov/wip-doc-vstart

doc/dev: refresh vstart.sh options in dev_cluster_deployment

Reviewed-by: Vikhyat Umrao <vikhyat@ibm.com>
4 weeks agoMerge pull request #68758 from tchaikov/cmake-build-isal-lib
Kefu Chai [Tue, 19 May 2026 02:22:00 +0000 (10:22 +0800)]
Merge pull request #68758 from tchaikov/cmake-build-isal-lib

cmake/BuildISAL: build and install library targets only

Reviewed-by: Jamie Pryde <jamiepry@uk.ibm.com>
4 weeks agomgr/dashboard: fix tag colors not applied in table cells 68988/head
Afreen Misbah [Tue, 19 May 2026 00:26:05 +0000 (05:56 +0530)]
mgr/dashboard: fix tag colors not applied in table cells

Regression from 15ca5d7ab9c.

Changed class to ngClass due to same attribute linter error.
This caused color classes to be overwritten  by carbon classes.

Fixes: https://tracker.ceph.com/issues/76685
Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
4 weeks agoscript/ptl-tool: use provided base even in conflict 68987/head
Patrick Donnelly [Tue, 19 May 2026 00:25:57 +0000 (20:25 -0400)]
script/ptl-tool: use provided base even in conflict

It is sometimes useful to base off a local branch instead of a common
branch.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agoMerge pull request #68178 from rhcs-dashboard/start-with-libvirt-group
Afreen Misbah [Tue, 19 May 2026 00:24:07 +0000 (05:54 +0530)]
Merge pull request #68178 from rhcs-dashboard/start-with-libvirt-group

mgr/dashboard: run kcli commands in libvritd group

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 weeks agodoc/start: Clarify doc building and begin list of conventions 68966/head
Anthony D'Atri [Mon, 18 May 2026 00:52:22 +0000 (20:52 -0400)]
doc/start: Clarify doc building and begin list of conventions

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
4 weeks agomgr/dashboard: fix build and test failures from ngx-toastr removal 68952/head
Afreen Misbah [Mon, 18 May 2026 15:15:45 +0000 (20:45 +0530)]
mgr/dashboard: fix build and test failures from ngx-toastr removal

Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agorgw/dedup: fix negative errno codes in filter and radosgw-admin
benhanokh [Mon, 11 May 2026 10:58:10 +0000 (13:58 +0300)]
rgw/dedup: fix negative errno codes in filter and radosgw-admin

Signed-off-by: benhanokh <gbenhano@redhat.com>
4 weeks agorgw/dedup: add --allow/deny-bucket-list and --allow/deny-storage-class-list to dedup...
Gabriel BenHanokh [Thu, 23 Apr 2026 14:16:31 +0000 (14:16 +0000)]
rgw/dedup: add --allow/deny-bucket-list and --allow/deny-storage-class-list to dedup commands
Resolves: bz#2413730
Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
4 weeks agoMerge pull request #68967 from rhcs-dashboard/remove-mirroing
Afreen Misbah [Mon, 18 May 2026 17:10:47 +0000 (22:40 +0530)]
Merge pull request #68967 from rhcs-dashboard/remove-mirroing

mgr/dashboard: Remove cephfs mirroring navigation from Umbrella

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 weeks agoMerge pull request #68970 from rhcs-dashboard/nfs-terminology
Afreen Misbah [Mon, 18 May 2026 17:09:48 +0000 (22:39 +0530)]
Merge pull request #68970 from rhcs-dashboard/nfs-terminology

mgr/dashboard: NFS enhancements - terminology alignment

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 weeks agoMerge pull request #68782 from smanjara/wip-fix-frontend-exception
Shilpa Jagannath [Mon, 18 May 2026 16:54:01 +0000 (09:54 -0700)]
Merge pull request #68782 from smanjara/wip-fix-frontend-exception

rgw: catch exception from abort_early() on client disconnect

4 weeks agomgr/dashboard: Remove `ng-click-outside` and `ngx-toastr`package
Afreen Misbah [Mon, 18 May 2026 11:33:16 +0000 (17:03 +0530)]
mgr/dashboard: Remove `ng-click-outside` and `ngx-toastr`package

Fixes https://tracker.ceph.com/issues/70934
Fixes https://tracker.ceph.com/issues/76631

Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agoMerge pull request #68685 from perezjosibm/wip-perezjos-doc-crimson-dev
Jose Juan Palacios-Perez [Mon, 18 May 2026 15:20:49 +0000 (16:20 +0100)]
Merge pull request #68685 from perezjosibm/wip-perezjos-doc-crimson-dev

doc: crimson/dev - add a vstart.sh example using SeaStore options, minor formatting fixes

4 weeks agoMerge pull request #68891 from rhcs-dashboard/carbonize-cluster-wide-osd-flags-modal
Afreen Misbah [Mon, 18 May 2026 14:55:15 +0000 (20:25 +0530)]
Merge pull request #68891 from rhcs-dashboard/carbonize-cluster-wide-osd-flags-modal

mgr/dashboard: Carbonize cluster-wide OSD flags modal

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
4 weeks agoMerge pull request #68971 from rhcs-dashboard/carbonize-upgrade
Afreen Misbah [Mon, 18 May 2026 14:54:28 +0000 (20:24 +0530)]
Merge pull request #68971 from rhcs-dashboard/carbonize-upgrade

Carbonize upgrade page

Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
4 weeks agodoc:crimson-dev: add RANDOM_BLOCK_SSD usage example, fix indentation 68685/head
Jose J Palacios-Perez [Fri, 8 May 2026 09:58:13 +0000 (10:58 +0100)]
doc:crimson-dev: add RANDOM_BLOCK_SSD usage example, fix indentation

Signed-off-by: Jose J Palacios-Perez <perezjos@uk.ibm.com>
4 weeks agoMerge PR #68937 into main
Patrick Donnelly [Mon, 18 May 2026 14:20:08 +0000 (10:20 -0400)]
Merge PR #68937 into main

* refs/pull/68937/head:
.github/workflows/releng-audit: group events to serialize executions
.github/workflows/releng-audit: remove override on reopen
.github/workflows/releng-audit: refactor auth check to function

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
4 weeks agoMerge pull request #68868 from rhcs-dashboard/fix-edit
Afreen Misbah [Mon, 18 May 2026 13:20:11 +0000 (18:50 +0530)]
Merge pull request #68868 from rhcs-dashboard/fix-edit

mgr/dashboard: Fix edit and delete access for pool-manager role

Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
4 weeks agoMerge pull request #68951 from rhcs-dashboard/revert-nx
Afreen Misbah [Mon, 18 May 2026 13:19:34 +0000 (18:49 +0530)]
Merge pull request #68951 from rhcs-dashboard/revert-nx

Revert: mgr/dashboard: reverting the nx tool changes

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 weeks agomgr/dashboard: Remove cephfs mirroring navigation from Umbrella 68967/head
Dnyaneshwari Talwekar [Mon, 18 May 2026 04:49:36 +0000 (10:19 +0530)]
mgr/dashboard: Remove cephfs mirroring navigation from Umbrella

Fixes: https://tracker.ceph.com/issues/76649
Signed-off-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
4 weeks agoMerge pull request #67547 from mheler/wip-list-restorestatus
mheler [Mon, 18 May 2026 11:23:15 +0000 (06:23 -0500)]
Merge pull request #67547 from mheler/wip-list-restorestatus

rgw: add RestoreStatus support to object listings

4 weeks agomgr/dashboard: fix logs e2e tests after carbonization 68971/head
Afreen Misbah [Mon, 18 May 2026 10:01:58 +0000 (15:31 +0530)]
mgr/dashboard: fix logs e2e tests after carbonization

Update e2e test selectors to match the new Carbon component structure.
The .card-body and .message classes were replaced with .log-viewer
and .log-entry__message after carbonizing the logs component.

Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agoMerge pull request #68953 from rhcs-dashboard/linter-modernization-research
Afreen Misbah [Mon, 18 May 2026 10:01:28 +0000 (15:31 +0530)]
Merge pull request #68953 from rhcs-dashboard/linter-modernization-research

mgr/dashboard: Replace htmllint with Prettier for HTML linting

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 weeks agoRevert "mgr/dashboard: set up dashboard as a app shell" 68951/head
Afreen Misbah [Fri, 15 May 2026 22:34:44 +0000 (04:04 +0530)]
Revert "mgr/dashboard: set up dashboard as a app shell"

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

This reverts commit a0dd52fe100932922ceab9277490bfa2f8631431.

 Conflicts:
src/pybind/mgr/dashboard/frontend/module-federation.config.ts
src/pybind/mgr/dashboard/frontend/package-lock.json
src/pybind/mgr/dashboard/frontend/package.json
src/pybind/mgr/dashboard/frontend/project.json

Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agoRevert " mgr/dashboard: add rollup as optional deps"
Afreen Misbah [Fri, 15 May 2026 22:28:34 +0000 (03:58 +0530)]
Revert " mgr/dashboard: add rollup as optional deps"

This reverts commit 6f14d6f25f06ed3d78a4c603e1ad9f10fc9c17d8.

 Conflicts:
src/pybind/mgr/dashboard/frontend/package-lock.json
src/pybind/mgr/dashboard/frontend/package.json

Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agomgr/dashboard: remove unused upgradable component
Afreen Misbah [Sun, 17 May 2026 21:18:22 +0000 (02:48 +0530)]
mgr/dashboard: remove unused upgradable component

The upgradable component is no longer used after converting
the upgrade page to use Carbon tiles directly.

Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreenmisbah@ibm.com>
4 weeks agomgr/dashboard: carbonize logs component
Afreen Misbah [Sun, 17 May 2026 21:18:11 +0000 (02:48 +0530)]
mgr/dashboard: carbonize logs component

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

Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreenmisbah@ibm.com>
4 weeks agomgr/dashboard: Carbonize upgrade page
Afreen Misbah [Sun, 17 May 2026 14:53:54 +0000 (20:23 +0530)]
mgr/dashboard: Carbonize upgrade page

- Made cluster status clickable to navigate to overview when not HEALTH_OK
- Replaced Bootstrap classes with Carbon design tokens
- Updated upgrade.component.scss to use CSS custom properties

Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreenmisbah@ibm.com>
4 weeks agoMerge pull request #66908 from rkachach/fix_nvmeof_dashboard_interface
Redouane Kachach [Mon, 18 May 2026 07:03:20 +0000 (09:03 +0200)]
Merge pull request #66908 from rkachach/fix_nvmeof_dashboard_interface

mgr/cephadm: Add a new cephadm's API to get nvmeof TLS bundle

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
4 weeks agomgr/dashboard: NFS enhancements - terminology alignment 68970/head
Dnyaneshwari Talwekar [Mon, 18 May 2026 06:55:14 +0000 (12:25 +0530)]
mgr/dashboard: NFS enhancements - terminology alignment

Fixes: https://tracker.ceph.com/issues/76655
Signed-off-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
4 weeks agoMerge pull request #68686 from rishabh-d-dave/fs-scrub-set-flag-for-dirfrags
Venky Shankar [Mon, 18 May 2026 05:24:29 +0000 (10:54 +0530)]
Merge pull request #68686 from rishabh-d-dave/fs-scrub-set-flag-for-dirfrags

mds/ScrubStack: set added_children to true for dirfrags too

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 weeks agoMerge pull request #67752 from supriti/wip-s3-policy-keystone-role
anrao19 [Mon, 18 May 2026 05:01:21 +0000 (10:31 +0530)]
Merge pull request #67752 from supriti/wip-s3-policy-keystone-role

rgw: Inject keystone roles into IAM policy

4 weeks agoMerge pull request #68740 from smanjara/wip-fix-multi-delete-crash
anrao19 [Mon, 18 May 2026 04:59:49 +0000 (10:29 +0530)]
Merge pull request #68740 from smanjara/wip-fix-multi-delete-crash

rgw: remove redundant close_section() call in RGWDeleteMultiObj end_response()

4 weeks agoMerge pull request #68601 from aza547/multisite-data-log-fix
anrao19 [Mon, 18 May 2026 04:47:55 +0000 (10:17 +0530)]
Merge pull request #68601 from aza547/multisite-data-log-fix

rgw: multisite sync data_log error handling broken in tentacle

4 weeks agoMerge pull request #68567 from aza547/radosgw-sync-status-flush-fix
anrao19 [Mon, 18 May 2026 04:47:40 +0000 (10:17 +0530)]
Merge pull request #68567 from aza547/radosgw-sync-status-flush-fix

radosgw-admin: fix output of sync status

4 weeks agomgr/dashboard: Fix mon_allow_pool_delete unit test 68868/head
Afreen Misbah [Tue, 12 May 2026 20:16:56 +0000 (01:46 +0530)]
mgr/dashboard: Fix mon_allow_pool_delete unit test

Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agomgr/dashboard: Fix edit and delete access for pool-manager role
Afreen Misbah [Tue, 12 May 2026 12:07:39 +0000 (17:37 +0530)]
mgr/dashboard: Fix edit and delete access for pool-manager role

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

- allows deleting pools in pool-manager role by bypassing config-opt read permissions
- allows editing in pool-manager role which failing deu to misisng rbd mirroring permissions
- fixes a bug with pool edit mode where when both compression and name are edited it fails due to an if-else logic bug

Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 weeks agocmake/BuildISAL: build and install library targets only 68758/head
Kefu Chai [Wed, 6 May 2026 02:08:20 +0000 (10:08 +0800)]
cmake/BuildISAL: build and install library targets only

Skip building the igzip executables; Ceph only needs libisal.la.
This should speed up the build a little bit, as we don't build the
executables previous built with "make"

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
4 weeks agoMerge pull request #68949 from fultheim/fix-cleanr-space-leak
Matan Breizman [Sun, 17 May 2026 08:32:46 +0000 (11:32 +0300)]
Merge pull request #68949 from fultheim/fix-cleanr-space-leak

crimson/os/seastore: fix cleaner space leak from shadowed result list

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
4 weeks agomgr/dashboard: Replace htmllint with Prettier for HTML linting 68953/head
Afreen Misbah [Sat, 16 May 2026 23:20:24 +0000 (04:50 +0530)]
mgr/dashboard: Replace htmllint with Prettier for HTML linting

Fixes: https://tracker.ceph.com/issues/76631
Signed-off-by: Afreen Misbah <afreenmisbah@example.com>
4 weeks agocrimson/os/seastore: fix cleaner space leak from shadowed result list 68949/head
Shai Fultheim [Sat, 16 May 2026 20:17:59 +0000 (23:17 +0300)]
crimson/os/seastore: fix cleaner space leak from shadowed result list

TransactionManager::get_extents_if_live() declared an inner
std::list<CachedExtentRef> res inside the "extent is cached" branch
that shadowed the outer res returned by the coroutine. When the
queried extent was present in the cache, it was moved into the inner
list and immediately discarded, and the empty outer list was returned
to the caller.

The async cleaner uses this result to decide whether to rewrite an
extent or treat it as dead. For recently-allocated LBA tree internal
nodes (still hot in cache), the shadowed return caused the cleaner to
skip them, so mark_space_free() never paired with the earlier
mark_space_used(). Each affected reclaim leaked exactly one extent
(4 KiB for LADDR_INTERNAL), tripping the live_bytes != 0 assertion in
SegmentCleaner::clean_space() (async_cleaner.cc:1441) once a victim
segment with such a leftover was selected.

The reproducer (at ~70% full) deterministically aborted within ~3
minutes before this fix; with the fix the OSDs run cleanly past the
trigger point.

Fixes: 87a5984b3ae ("crimson/.../transaction_manager: convert get_extents_if_live to coroutine")
Signed-off-by: Shai Fultheim <shai.fultheim@gmail.com>
4 weeks ago.github/workflows/releng-audit: group events to serialize executions 68937/head
Patrick Donnelly [Fri, 15 May 2026 15:43:08 +0000 (11:43 -0400)]
.github/workflows/releng-audit: group events to serialize executions

This avoids confusion when several events are fired for e.g. label
changes before the bot can validate each change is authorized.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Assisted-by: Gemini
4 weeks ago.github/workflows/releng-audit: remove override on reopen
Patrick Donnelly [Fri, 15 May 2026 15:17:41 +0000 (11:17 -0400)]
.github/workflows/releng-audit: remove override on reopen

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Assisted-by: Gemini
4 weeks ago.github/workflows/releng-audit: refactor auth check to function
Patrick Donnelly [Fri, 15 May 2026 15:17:01 +0000 (11:17 -0400)]
.github/workflows/releng-audit: refactor auth check to function

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Assisted-by: Gemini
4 weeks agoMerge pull request #68743 from tchaikov/mgr-get_metadata
Kefu Chai [Sat, 16 May 2026 12:49:25 +0000 (20:49 +0800)]
Merge pull request #68743 from tchaikov/mgr-get_metadata

pybind/mgr/status: drop asserts that fight the defaultdict defaults

Reviewed-by: Nitzan Mordechai <nmordec@ibm.com>
4 weeks agodoc/dev: refresh vstart.sh options in dev_cluster_deployment 68946/head
Kefu Chai [Sat, 16 May 2026 02:53:41 +0000 (10:53 +0800)]
doc/dev: refresh vstart.sh options in dev_cluster_deployment

Bring doc/dev/dev_cluster_deployment.rst back in line with the current
src/vstart.sh:

* drop the removed -K/--kstore objectstore backend
* drop -N/--not-new, which was dropped in 8dd2e418; reusing the existing
  cluster config is simply the default when -n is not given
* correct the --rgw_frontend default from civetweb to beast
* note that -b/--bluestore is the default objectstore backend
* update the example and add a note that a fresh build needs -n on the
  first run, while later runs can omit it
* note that the option list is not exhaustive and point at src/vstart.sh

Fixes: https://tracker.ceph.com/issues/57272
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
4 weeks agoMerge pull request #68571 from lumir-sliva/wip-rgw-postobj-bytes-received
Adam Emerson [Fri, 15 May 2026 17:04:04 +0000 (13:04 -0400)]
Merge pull request #68571 from lumir-sliva/wip-rgw-postobj-bytes-received

rgw: account presigned POST bytes_received in usage log

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 weeks agoMerge pull request #68932 from mheler/wip-mclock-docs
Mark Nelson [Fri, 15 May 2026 17:03:01 +0000 (10:03 -0700)]
Merge pull request #68932 from mheler/wip-mclock-docs

doc/rados/configuration: recommend wpq for EC clusters seeing slow ops

4 weeks agoMerge pull request #68909 from ShwetaBhosale1/fix_nfs_version_build_issue
David Galloway [Fri, 15 May 2026 16:21:21 +0000 (12:21 -0400)]
Merge pull request #68909 from ShwetaBhosale1/fix_nfs_version_build_issue

Use GANESHA_REPO_BASEURL for NFS-Ganesha on all distros

4 weeks agoMerge PR #68931 into main
Patrick Donnelly [Fri, 15 May 2026 15:45:58 +0000 (11:45 -0400)]
Merge PR #68931 into main

* refs/pull/68931/head:
doc/dev: fix release cycle diagram and missing text

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>