]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 days agorocksdb: update submodule to fix FTBFS due to missing <cstdint> 69596/head
Kefu Chai [Fri, 19 Jun 2026 11:20:09 +0000 (19:20 +0800)]
rocksdb: update submodule to fix FTBFS due to missing <cstdint>

59afb3d6 bumped rocksdb submodule in hope to address the FTBFS failure
when building rocksdb with GCC 16, but the tree still failed to build:

```
In file included from /ceph/src/rocksdb/include/rocksdb/trace_record_result.h:14,
                 from /ceph/src/rocksdb/trace_replay/trace_record_result.cc:6:
/ceph/src/rocksdb/include/rocksdb/trace_record.h:55:32: error: expected ')' before 'timestamp'
   55 |   explicit TraceRecord(uint64_t timestamp);
      |                       ~        ^~~~~~~~~~
      |                                )
/ceph/src/rocksdb/include/rocksdb/trace_record.h:63:11: error: 'uint64_t' does not name a type
   63 |   virtual uint64_t GetTimestamp() const;
      |           ^~~~~~~~
/ceph/src/rocksdb/include/rocksdb/trace_record.h:1:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
```

in this change, we cherry-pick upstream fix to address this build
failure.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
13 days agoMerge pull request #68613 from tchaikov/wip-test-journal-fix-use-after-free
Ilya Dryomov [Fri, 19 Jun 2026 09:42:42 +0000 (11:42 +0200)]
Merge pull request #68613 from tchaikov/wip-test-journal-fix-use-after-free

journal/ObjectPlayer: don't acquire locks in destructor

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
13 days agoMerge pull request #68161 from abitdrag/wip-miki-image-prim-snap-removal
Ilya Dryomov [Fri, 19 Jun 2026 09:38:14 +0000 (11:38 +0200)]
Merge pull request #68161 from abitdrag/wip-miki-image-prim-snap-removal

rbd-mirror: prune obsolete primary mirror snapshots after relocation

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: VinayBhaskar-V <vvarada@redhat.com>
Reviewed-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
13 days agoMerge pull request #69531 from xiubli/lazyio
Venky Shankar [Fri, 19 Jun 2026 04:02:53 +0000 (09:32 +0530)]
Merge pull request #69531 from xiubli/lazyio

common/options: mark client_force_lazyio as not runtime updatable

Reviewed-by: Venky Shankar <vshankar@redhat.com>
13 days agoMerge pull request #69090 from rhcs-dashboard/76795-support-wildcard-sans
naman munet [Fri, 19 Jun 2026 03:44:00 +0000 (09:14 +0530)]
Merge pull request #69090 from rhcs-dashboard/76795-support-wildcard-sans

mgr/dashboard : Support wildcard sans and zonegroup hostnames

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
13 days agoMerge pull request #69414 from Adarsha1999/teuthology-smoke-log-ignorelist
Ilya Dryomov [Thu, 18 Jun 2026 22:30:09 +0000 (00:30 +0200)]
Merge pull request #69414 from Adarsha1999/teuthology-smoke-log-ignorelist

qa/smoke/basic: add log-ignorelist entries for expected smoke test warnings

Reviewed-by: Venky Shankar <vshankar@redhat.com>
13 days agoMerge pull request #69474 from sunyuechi/wip-rgw-a-declare-schedulers-kmip-deps
Casey Bodley [Thu, 18 Jun 2026 17:34:29 +0000 (13:34 -0400)]
Merge pull request #69474 from sunyuechi/wip-rgw-a-declare-schedulers-kmip-deps

rgw: declare rgw_a's dependency on rgw_schedulers and kmip

Reviewed-by: Casey Bodley <cbodley@redhat.com>
13 days agoMerge pull request #69393 from rhcs-dashboard/wip-rgw-roles-account-scoping
naman munet [Thu, 18 Jun 2026 17:08:25 +0000 (22:38 +0530)]
Merge pull request #69393 from rhcs-dashboard/wip-rgw-roles-account-scoping

mgr/dashboard: align RGW role management with Carbon and fix API routing

Reviewed-by: Naman Munet <nmunet@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
13 days agoqa/smoke/basic: add log-ignorelist entries for expected smoke test warnings 69414/head
Adarsha Dinda [Thu, 11 Jun 2026 11:11:51 +0000 (16:41 +0530)]
qa/smoke/basic: add log-ignorelist entries for expected smoke test warnings

Ignore FS_DEGRADED in libcephfs_interface_tests and MON_DOWN in
rbd_python_api_tests to avoid false failures from transient cluster health
messages.

Signed-off-by: Adarsha Dinda <adarshadinda@Adarshas-MacBook-Pro.local>
13 days agomgr/dashboard : Support wildcard sans and zonegroup hostnames 69090/head
Abhishek Desai [Tue, 26 May 2026 07:48:40 +0000 (13:18 +0530)]
mgr/dashboard : Support wildcard sans and zonegroup hostnames
fixes : https://tracker.ceph.com/issues/76795
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
13 days agoMerge pull request #69555 from djgalloway/wip-pulp-container
David Galloway [Thu, 18 Jun 2026 14:19:59 +0000 (10:19 -0400)]
Merge pull request #69555 from djgalloway/wip-pulp-container

Containerfile: Support pulp repo URLs

13 days agoMerge pull request #69425 from cbodley/wip-76995
Casey Bodley [Thu, 18 Jun 2026 14:10:59 +0000 (10:10 -0400)]
Merge pull request #69425 from cbodley/wip-76995

Reapply "qa/rgw/crypt: disable failing kmip testing"

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
13 days agomgr/dashboard: align RGW role management with Carbon and fix API routing 69393/head
Sagar Gopale [Wed, 10 Jun 2026 13:29:50 +0000 (18:59 +0530)]
mgr/dashboard: align RGW role management with Carbon and fix API routing

Fixes: https://tracker.ceph.com/issues/77328
Signed-off-by: Sagar Gopale <sagar.gopale@ibm.com>
13 days agoMerge pull request #69573 from rhcs-dashboard/fixe2e
Nizamudeen A [Thu, 18 Jun 2026 12:01:46 +0000 (17:31 +0530)]
Merge pull request #69573 from rhcs-dashboard/fixe2e

mgr/dashboard: fix daemon e2e

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 weeks agojournal/ObjectPlayer: don't acquire locks in destructor 68613/head
Kefu Chai [Sun, 14 Jun 2026 06:52:00 +0000 (14:52 +0800)]
journal/ObjectPlayer: don't acquire locks in destructor

~ObjectPlayer took m_timer_lock only to assert two invariants. but that
lock is borrowed by reference from the caller's SafeTimer, and an
ObjectPlayer can outlive it: a C_Fetch/C_WatchFetch completion on the
librados finisher may hold the last reference and run ~ObjectPlayer after
the timer and its lock are already gone. re-taking the freed lock is a
heap-use-after-free, which unittest_journal hits on arm64 under ASan:

  ==ERROR: AddressSanitizer: heap-use-after-free
    journal::ObjectPlayer::~ObjectPlayer  ObjectPlayer.cc:63
    journal::ObjectPlayer::C_WatchFetch::~C_WatchFetch
    journal::ObjectPlayer::C_Fetch::finish

the lock isn't needed though: at refcount 0 the watch has been cancelled
(m_watch_ctx == nullptr, asserted below) so no timer task references us, and
no fetch is in flight since a pending fetch holds a reference. nothing else
can touch our state. Furthermore, we can also skip acquiring `m_lock` as
well, because, in the destructor, it shouldn't really matter -- if one
of these asserts fails because the execution of the destructor races
with some `ObjectPlayer` mthod, we would get what the `assert()` was
added for. They are here to catch bugs and such a race just being
possible is a bug in itself.

Fixes: https://tracker.ceph.com/issues/77496
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoMerge pull request #68978 from mheler/mon-backup
mheler [Thu, 18 Jun 2026 10:11:13 +0000 (05:11 -0500)]
Merge pull request #68978 from mheler/mon-backup

mon: implement mon backup mechanism

2 weeks agoMerge pull request #69521 from sunyuechi/warnings-cephfs-int32
Kefu Chai [Thu, 18 Jun 2026 08:17:10 +0000 (16:17 +0800)]
Merge pull request #69521 from sunyuechi/warnings-cephfs-int32

pybind/cephfs: drop redundant int32_t typedef

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agomgr/dashboard: fix daemon e2e 69573/head
Naman Munet [Thu, 18 Jun 2026 08:04:55 +0000 (13:34 +0530)]
mgr/dashboard: fix daemon e2e

fixes: https://tracker.ceph.com/issues/77489

Signed-off-by: Naman Munet <naman.munet@ibm.com>
2 weeks agoMerge pull request #69076 from xxhdx1985126/wip-seastore-paddr-cross-coroutine-fix
Matan Breizman [Thu, 18 Jun 2026 07:27:38 +0000 (10:27 +0300)]
Merge pull request #69076 from xxhdx1985126/wip-seastore-paddr-cross-coroutine-fix

crimson/os/seastore/lba, TM: prevent of the users of LBACursor/LBAMapping from pass the paddr/lba_map_val_t across the boundaries of coroutines

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agocommon/options: mark client_force_lazyio as not runtime updatable 69531/head
Xiubo Li [Wed, 17 Jun 2026 01:14:43 +0000 (09:14 +0800)]
common/options: mark client_force_lazyio as not runtime updatable

The client_force_lazyio option is currently marked as supporting
runtime updates in the configuration schema, but this is misleading.

The value is read once during each file open/create and stored in
the file flags. There is no config observer registered to handle
dynamic updates, and there is no logic to propagate changes to the
already opened file handles.

This patch adds the NO_RUNTIME flag to the option definition to
correctly reflect reality.

Fixes: https://tracker.ceph.com/issues/77451
Signed-off-by: Xiubo Li <xiubo.li@clyso.com>
2 weeks agoMerge pull request #69074 from kotreshhr/mirror-metrics-counter-dump
Kotresh HR [Thu, 18 Jun 2026 04:10:55 +0000 (09:40 +0530)]
Merge pull request #69074 from kotreshhr/mirror-metrics-counter-dump

tools/cephfs_mirror: Expose Mirror metrics via asok counter dump

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 weeks agomon: add monitor RocksDB backup and restore 68978/head
Matthew N. Heler [Mon, 18 May 2026 01:57:01 +0000 (20:57 -0500)]
mon: add monitor RocksDB backup and restore

Implements an opt-in backup mechanism for the monitor using
rocksdb::BackupEngine. Backups run on a schedule when
mon_backup_interval is set, or are triggered manually via
`ceph tell mon.* backup`. Cleanup keeps the last N, hourly,
and daily snapshots, with a free-space guard. Off by default.

Restore is offline: stop the mon and run
  ceph-mon --restore-backup <dir> --yes-i-really-mean-it
optionally with --backup-version (BackupEngine logical version,
as shown by --list-backups). The mon keyring is stashed alongside
the RocksDB backup so a wiped mon_data is recovered end-to-end,
and kv_backend is stamped back when missing.

Co-authored-by: Daniel Poelzleithner <poelzleithner@b1-systems.de>
Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 weeks agoContainerfile: Support pulp repo URLs 69554/head 69555/head
David Galloway [Wed, 17 Jun 2026 12:53:12 +0000 (08:53 -0400)]
Containerfile: Support pulp repo URLs

Signed-off-by: David Galloway <david.galloway@ibm.com>
2 weeks agoMerge pull request #69511 from VallariAg/wip-update-submodule-182
Vallari Agrawal [Wed, 17 Jun 2026 15:44:50 +0000 (21:14 +0530)]
Merge pull request #69511 from VallariAg/wip-update-submodule-182

mgr/dashboard: bump nvmeof submodule to 1.8.2

2 weeks agoMerge pull request #69356 from eameh-LF/wip-doc-77200
Ilya Dryomov [Wed, 17 Jun 2026 14:21:28 +0000 (16:21 +0200)]
Merge pull request #69356 from eameh-LF/wip-doc-77200

doc: Replace Python 2 package names with Python 3 equivalents

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 weeks agoMerge pull request #69275 from fultheim/seastore-io-wakeup
Matan Breizman [Wed, 17 Jun 2026 13:56:01 +0000 (16:56 +0300)]
Merge pull request #69275 from fultheim/seastore-io-wakeup

crimson/os/seastore: wake blocked IO on BackgroundProcess wakeup

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agoMerge pull request #67141 from BBoozmen/wip-oozmen-74677
Oguzhan Ozmen [Wed, 17 Jun 2026 13:52:19 +0000 (09:52 -0400)]
Merge pull request #67141 from BBoozmen/wip-oozmen-74677

rgw/multisite: Balance sync traffic across DNS-resolved backends using CURLOPT_CONNECT_TO

2 weeks agoMerge pull request #69355 from eameh-LF/wip-doc-77208
eameh-LF [Wed, 17 Jun 2026 13:25:50 +0000 (14:25 +0100)]
Merge pull request #69355 from eameh-LF/wip-doc-77208

doc: Remove empty README.md and relocate nvmeof HA design doc

2 weeks agoMerge pull request #69354 from eameh-LF/wip-doc-77206
eameh-LF [Wed, 17 Jun 2026 13:25:27 +0000 (14:25 +0100)]
Merge pull request #69354 from eameh-LF/wip-doc-77206

doc/security: Add Security Lead and Working Group pages to toctree

2 weeks agodoc: Replace Python 2 package names with Python 3 equivalents 69356/head
Emmanuel Ameh [Tue, 9 Jun 2026 12:19:27 +0000 (13:19 +0100)]
doc: Replace Python 2 package names with Python 3 equivalents

librados-intro.rst referenced ``python-rados`` for CentOS/RHEL.
rbd-openstack.rst referenced ``python-rbd`` for both apt and yum.
Python 2 reached end-of-life in January 2020; these package names
install the Python 2 bindings (or fail entirely) on current distros.
Replace with the correct Python 3 package names: python3-rados and
python3-rbd.

Fixes: https://tracker.ceph.com/issues/77200
Signed-off-by: Emmanuel Ameh <eameh@contractor.linuxfoundation.org>
2 weeks agoMerge pull request #65286 from pritha-srivastava/wip-rgw-d4n-mem-leak
Samarah Uriarte [Wed, 17 Jun 2026 13:05:20 +0000 (08:05 -0500)]
Merge pull request #65286 from pritha-srivastava/wip-rgw-d4n-mem-leak

rgw/d4n: deleting LFUDAEntry and LFUDAObjEntry instances

Reviewed-by: Mark Kogan <mkogan@redhat.com>
Reviewed-by: Gal Salomon <gsalomon@redhat.com>
2 weeks agorbd-mirror: prune obsolete primary mirror snapshots after relocation 68161/head
Miki Patel [Sun, 19 Apr 2026 06:29:40 +0000 (11:59 +0530)]
rbd-mirror: prune obsolete primary mirror snapshots after relocation

Previously, obsolete primary and demoted primary snapshots on the
secondary cluster were not cleaned up immediately after relocation.
Instead, old primary snapshots remained until a subsequent promote
operation triggered their cleanup, while old demoted primary snapshots
persisted until a later demote operation removed them.

Adding changes for proactive cleanup of obsolete primary and demoted
primary snapshots that are no longer required after relocation.

Also adding test coverage to validate the cleanup behavior.

Fixes: https://tracker.ceph.com/issues/76154
Signed-off-by: Miki Patel <miki.patel132@gmail.com>
2 weeks agoMerge pull request #69378 from rhcs-dashboard/custom-filter
Nizamudeen A [Wed, 17 Jun 2026 09:00:15 +0000 (14:30 +0530)]
Merge pull request #69378 from rhcs-dashboard/custom-filter

mgr/dashboard: add custom filtering rules to the table

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
2 weeks agoMerge pull request #69476 from ronen-fr/wip-rf-fmtxx-crimson
Kefu Chai [Wed, 17 Jun 2026 08:52:07 +0000 (16:52 +0800)]
Merge pull request #69476 from ronen-fr/wip-rf-fmtxx-crimson

crimson/os/seastore: fix laddr_t formatter and its use

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agocrimson/os/seastore/lba: avoid paddr from crossing coroutines 69076/head
Xuehan Xu [Sun, 24 May 2026 08:45:01 +0000 (16:45 +0800)]
crimson/os/seastore/lba: avoid paddr from crossing coroutines

Previously, LBAManager::remap_mappings() works as follows:

1. get the mapping's val;
2. remove the mapping;
3. insert the remapped mappings.

With pessimistic cc in place, during the above step 2 and 3, a rewrite
transaction that modifies the same mapping might be committed and miss
the pending lba leaf nodes because it doesn't contain the mapping at the
time.

This commit change the above workflow as follows:

1. replace the mapping with the first remapped mapping;
2. insert the remaining remapped mappings.

Note that all the remaining mapped mappings' paddrs are calculated based
on the mapping before it in the same coroutine as the insertion, which
means it'll always see the modification of a background rewrite
transaction.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
2 weeks agocrimson/os/seastore/transaction_manager: prevent paddr from
Xuehan Xu [Sun, 24 May 2026 07:27:04 +0000 (15:27 +0800)]
crimson/os/seastore/transaction_manager: prevent paddr from
 being passed across coroutines.

This is because rewrite transactions no longer invalidates other
transactions, so if paddr get passed across coroutines, it may
become outdated.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
2 weeks agoMerge pull request #69297 from VallariAg/wip-prometheus-rados-ns-fix
Vallari Agrawal [Wed, 17 Jun 2026 07:13:44 +0000 (12:43 +0530)]
Merge pull request #69297 from VallariAg/wip-prometheus-rados-ns-fix

monitoring: fix NVMeoFMultipleNamespacesOfRBDImage for different rados_namespace_name

2 weeks agomgr/dashboard: add custom filtering rules to the table 69378/head
Nizamudeen A [Wed, 10 Jun 2026 05:21:33 +0000 (10:51 +0530)]
mgr/dashboard: add custom filtering rules to the table

```
<cd-table #table
                id="pool-list"
                [data]="pools"
                [columns]="columns"
                selectionType="single"
                [hasDetails]="true"
                [status]="tableStatus"
                [autoReload]="-1"
                (fetchData)="taskListService.fetch()"
                (setExpandedRow)="setExpandedRow($event)"
                (updateSelection)="updateSelection($event)"
                [customFilter]="true" # set this to true
                (customFilterChange)="onCustomFilterChange($event)" #
get the new rules from here>
```

Fixes: https://tracker.ceph.com/issues/77290
Signed-off-by: Nizamudeen A <nia@redhat.com>
2 weeks agoMerge pull request #69515 from tchaikov/wip-rocksdb-fix-ftbfs-gcc-16
Kefu Chai [Wed, 17 Jun 2026 03:17:35 +0000 (11:17 +0800)]
Merge pull request #69515 from tchaikov/wip-rocksdb-fix-ftbfs-gcc-16

rocksdb: update submodule to fix FTBFS due to missing <cstdint>

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agoMerge pull request #69509 from sunyuechi/wip-fix-unused-warnings
Kefu Chai [Wed, 17 Jun 2026 02:07:27 +0000 (10:07 +0800)]
Merge pull request #69509 from sunyuechi/wip-fix-unused-warnings

crimson,mgr,test: fix unused variable/function warnings

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoMerge pull request #69419 from Sodani/shsodani_mac_support
John Mulligan [Tue, 16 Jun 2026 22:50:31 +0000 (18:50 -0400)]
Merge pull request #69419 from Sodani/shsodani_mac_support

mgr/smb: Added a Mac client support for samba cluster

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Sachin Prabhu <sp@spui.uk>
2 weeks agoMerge pull request #69339 from Hezko/clis-alignment
Hezko [Tue, 16 Jun 2026 21:11:23 +0000 (00:11 +0300)]
Merge pull request #69339 from Hezko/clis-alignment

mgr/dashboard: align nvmeof cli with missing parameters and commands from the old nvmeof cli

2 weeks agodoc: add PendingReleaseNotes entry for rgw multisite DNS endpoint resolution 67141/head
Oguzhan Ozmen [Tue, 24 Mar 2026 17:54:22 +0000 (17:54 +0000)]
doc: add PendingReleaseNotes entry for rgw multisite DNS endpoint resolution

Documents the new rgw_rest_conn_connect_to_resolved_ips feature that
enables RGW to resolve HTTP endpoints for RGW services such as multisite,
into all IP addresses and distribute requests across them using
round-robin with per-IP health tracking, supporting DNS service
discovery deployments without external load balancers.

Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
2 weeks agoMerge pull request #69132 from BBoozmen/wip-sync-err-log-76950
Oguzhan Ozmen [Tue, 16 Jun 2026 19:11:24 +0000 (15:11 -0400)]
Merge pull request #69132 from BBoozmen/wip-sync-err-log-76950

rgw/multisite: do not log transient per-object EBUSY/EAGAIN errors in sync error log

2 weeks agoMerge PR #69498 into main
Patrick Donnelly [Tue, 16 Jun 2026 18:51:39 +0000 (14:51 -0400)]
Merge PR #69498 into main

* refs/pull/69498/head:
doc/releases/tentacle: scope wording to package installs
doc/releases/tentacle: remove bogus notable changes
doc/releases/tentacle: add more v20.2.2 blocker fixes
doc: tentacle 20.2.2 release notes

Reviewed-by: Adam King <adking@redhat.com>
2 weeks agodoc/releases/tentacle: scope wording to package installs 69498/head
Patrick Donnelly [Tue, 16 Jun 2026 02:51:58 +0000 (22:51 -0400)]
doc/releases/tentacle: scope wording to package installs

Resolves: https://tracker.ceph.com/issues/77357
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agodoc/releases/tentacle: remove bogus notable changes
Patrick Donnelly [Mon, 15 Jun 2026 23:38:20 +0000 (19:38 -0400)]
doc/releases/tentacle: remove bogus notable changes

Resolves: https://tracker.ceph.com/issues/77357
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoqa: Add tests for cephfs_mirror_directory perf counters 69074/head
Kotresh HR [Tue, 16 Jun 2026 17:31:13 +0000 (23:01 +0530)]
qa: Add tests for cephfs_mirror_directory perf counters

Verify counter dump registration, current-sync gauges while syncing
(full/delta), last-sync and summary counters after idle sync, and
extend mirror stats and remote-snap failure tests for per-directory
snaps_* and dir_state.

Fixes: https://tracker.ceph.com/issues/73457
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agoMerge pull request #68881 from jacquesh/fix-rgw-log-merging
Oguzhan Ozmen [Tue, 16 Jun 2026 17:37:14 +0000 (13:37 -0400)]
Merge pull request #68881 from jacquesh/fix-rgw-log-merging

rgw: Fix ops logs sometimes having several entries per line.

2 weeks agodoc/mgr/smb: document client compatibility mode 69419/head
Shweta Sodani [Fri, 12 Jun 2026 11:41:15 +0000 (17:11 +0530)]
doc/mgr/smb: document client compatibility mode

Add documentation for --client-compat parameter in 'cluster create'
command and new 'cluster update client-compat' command. This feature
enables macOS-specific SMB optimizations (fruit VFS, streams_xattr)
and can be set during cluster creation or updated for existing clusters.

Signed-off-by: Shweta Sodani <shsodani@redhat.com>
2 weeks agodoc/cephfs: Document cephfs_mirror_directory counter dump metrics
Kotresh HR [Tue, 16 Jun 2026 17:28:33 +0000 (22:58 +0530)]
doc/cephfs: Document cephfs_mirror_directory counter dump metrics

Describe per-directory labeled perf counters, labels, update behavior,
mapping to peer status, and counter reference tables. Document the
per-peer tick thread and cephfs_mirror_tick_interval, which refreshes
current-sync gauges on each tick. Add a PendingReleaseNotes entry for
the new cephfs_mirror_directory perf counter group.

Fixes: https://tracker.ceph.com/issues/73457
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agocephfs_mirror: update per-directory last sync and summary perf counters
Kotresh HR [Tue, 16 Jun 2026 16:57:12 +0000 (22:27 +0530)]
cephfs_mirror: update per-directory last sync and summary perf counters

Wire the remaining cephfs_mirror_directory labeled counters that were
registered in the prior commit but not yet refreshed. Live
current_syncing_snap gauges continue to be updated from the per-peer tick
thread; this commit updates last_synced_snap and per-directory snap
summary counters at the points where SnapSyncStat is actually modified.

Depends-on the cephfs_mirror_directory PerfCounters schema (dir_state,
current_*, last_*, snaps_*) added when each mirrored directory is
registered.

Prometheus / counter dump
-------------------------

These counters appear under "cephfs_mirror_directory" in "counter dump" with
the same labels as current-sync metrics (source_fscid, source_filesystem,
peer_uuid, peer_cluster_name, peer_cluster_filesystem, directory). ceph-exporter
exposes them as e.g. ceph_cephfs_mirror_directory_last_sync_bytes and
ceph_cephfs_mirror_directory_snaps_synced.

Unlike cephfs_mirror_peers, values are per (peer_uuid, directory) rather than
aggregated across all directories on the peer. Peer-level counters are
unchanged.

Fixes: https://tracker.ceph.com/issues/73457
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agotools/cephfs_mirror: Expose per-directory snap metrics via perf counters
Kotresh HR [Tue, 16 Jun 2026 17:22:21 +0000 (22:52 +0530)]
tools/cephfs_mirror: Expose per-directory snap metrics via perf counters

Introduce a new labeled perf counter group, cephfs_mirror_directory, so
per-directory snapshot mirror progress can be scraped via "counter dump" and
exported to Prometheus by ceph-exporter (e.g.
ceph_cephfs_mirror_directory_current_sync_bytes).

Design
------

* One PerfCounters instance per mirrored directory on a peer, keyed in
  m_directory_perf_counters and registered on the daemon-wide
  PerfCountersCollection.
* Labels on each instance (flat counter dump array entries):
    - source_fscid, source_filesystem
    - peer_uuid, peer_cluster_name, peer_cluster_filesystem
    - directory (dir_root, e.g. "/parent/d1")
  The peer_uuid label disambiguates the same directory path mirrored to
  different peers.
* Counters are created in init() and add_directory(), removed in
  remove_directory() and the PeerReplayer destructor.
* Priority follows cephfs_mirror_perf_stats_prio (same as
  cephfs_mirror_peers).

Update path
-----------

Live / current_syncing_snap gauges are refreshed from
update_directory_current_sync_perf_counters(), called by
refresh_directory_current_sync_perf_counters() from the per-peer tick
thread (run_tick()). Each cephfs_mirror_tick_interval seconds (default 5)
the tick thread updates counters for each registered (actively syncing)
directory.

Counters registered (schema)
----------------------------

All of the following are added to the builder in this commit. Only the
"current sync" and dir_state fields listed under "Updated in this commit"
are written here; last_synced_snap and per-directory snap summary counters
are registered for a follow-up commit that updates them when stats change.

Directory state
  dir_state (gauge u64)
    0 = idle, 1 = syncing, 2 = failed
    Maps peer_status top-level "state" (numeric; no string values).

Current syncing snapshot (peer_status "current_syncing_snap")
  [Updated in this commit]
  current_snap_id          - snapshot id being synchronized
  current_sync_mode        - 0 = full, 1 = delta (snapdiff)
  current_read_bps         - bytes/sec read (raw, not formatted)
  current_write_bps        - bytes/sec written
  crawl_state              - 0 = N/A, 1 = in-progress, 2 = completed
  crawl_duration_seconds   - crawl duration; in-progress uses now - start
  datasync_wait_state      - 0 = none, 1 = waiting, 2 = complete
  datasync_wait_duration_seconds
  current_sync_bytes       - bytes synced so far for this snap
  current_total_bytes      - total bytes for this snap
  current_sync_bytes_percent - basis points (1745 = 17.45%)
  current_sync_files
  current_total_files
  current_sync_files_percent - basis points
  current_eta_valid        - 0 = calculating, 1 = ETA available
  current_eta_seconds      - ETA in seconds when valid

Per-directory snapshot summary (peer_status snaps_*)
  [Registered only; not updated in this commit]
  snaps_synced, snaps_deleted, snaps_renamed

Last synced snapshot (peer_status "last_synced_snap")
  [Registered only; not updated in this commit]
  last_snap_id
  last_crawl_duration_seconds
  last_datasync_wait_duration_seconds
  last_sync_duration_seconds
  last_sync_timestamp      - utime_t / seconds since epoch
  last_sync_bytes
  last_sync_files

When idle or failed, current_* counters are zeroed and dir_state reflects
0 or 2 respectively.

Fixes: https://tracker.ceph.com/issues/73457
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agotools/cephfs_mirror: Add per-peer tick thread with configurable interval
Kotresh HR [Tue, 16 Jun 2026 16:38:15 +0000 (22:08 +0530)]
tools/cephfs_mirror: Add per-peer tick thread with configurable interval

Introduce a per-peer tick thread controlled by cephfs_mirror_tick_interval
(default 5 seconds). The interval is re-read each iteration so configuration
changes take effect without restarting the daemon. The thread provides a
generic hook for future periodic mirroring work.

Fixes: https://tracker.ceph.com/issues/76686
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agoMerge pull request #69366 from sseshasa/wip-fix-ok-to-upgrade-osd-sort-order
Sridhar Seshasayee [Tue, 16 Jun 2026 16:16:13 +0000 (21:46 +0530)]
Merge pull request #69366 from sseshasa/wip-fix-ok-to-upgrade-osd-sort-order

mgr/DaemonServer: Aggregate and globally sort OSDs for ok-to-upgrade

Reviewed-by: Radoslaw Zarzynski <rzarzynski@redhat.com>
Reviewed-by: Nitzan Mordechai <nmordech@ibm.com>
2 weeks agocrimson/os/seastore: fix laddr_t formatter and its use 69476/head
Ronen Friedman [Mon, 15 Jun 2026 11:24:18 +0000 (11:24 +0000)]
crimson/os/seastore: fix laddr_t formatter and its use

'laddr_t' existing formatter did not support a ':x' format specifier
(actually - the output was always hexadecomal).
Here we remove the ':x', but also refactor the custom formatter to
avoid using the streambuf mechanism.
Note - SEASTORE_LADDR_USE_BOOST_U128 is no longer supported by the formatter.

Fixes: https://tracker.ceph.com/issues/77399
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 weeks agopybind/cephfs: drop redundant int32_t typedef 69521/head
Sun Yuechi [Mon, 15 Jun 2026 20:10:52 +0000 (04:10 +0800)]
pybind/cephfs: drop redundant int32_t typedef

int32_t is already provided by "from libc.stdint cimport *", so the extra
ctypedef in the platform_errno.h extern block redeclares it:

  warning: c_cephfs.pxd:29:4: 'int32_t' redeclared

Fixes: https://tracker.ceph.com/issues/77440
Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2 weeks agoMerge pull request #69395 from aclamk/aclamk-doc-bs-fast-recovery
Adam Kupczyk [Tue, 16 Jun 2026 13:03:31 +0000 (15:03 +0200)]
Merge pull request #69395 from aclamk/aclamk-doc-bs-fast-recovery

doc, bluestore: Documentation for Fast Onode Recovery feature

2 weeks agomgr/smb: add tests for client compatibility mode
Shweta Sodani [Fri, 12 Jun 2026 11:29:22 +0000 (16:59 +0530)]
mgr/smb: add tests for client compatibility mode

Add comprehensive test coverage for the new client compatibility
feature that enables macOS-specific SMB optimizations:

- test_enums.py: Add tests for ClientSupportMode enum values
  (DEFAULT and MACOS) and string representation
- test_resources.py: Add tests for cluster client_compat field,
  effective_client_compat property, and is_macos_compatibility_enabled
  property with different mode configurations
- test_smb.py: Add integration tests for cluster_update_client_compat
  CLI command including successful updates and error handling for
  non-existent clusters

These tests ensure the client compatibility mode can be properly
set, retrieved, and updated at the cluster level.

Signed-off-by: Shweta Sodani <shsodani@redhat.com>
2 weeks agomgr/smb: Add client support mode for macOS-specific SMB features
Shweta Sodani [Thu, 11 Jun 2026 13:21:33 +0000 (18:51 +0530)]
mgr/smb: Add client support mode for macOS-specific SMB features

This commit introduces a new cluster-level configuration option to enable
client-specific SMB optimizations, starting with macOS support.

Usage:
  ceph smb cluster create <cluster-id> --client-compat macos
  ceph smb cluster update client-compat macos <cluster-id>

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
2 weeks agorocksdb: update submodule to fix FTBFS due to missing <cstdint> 69515/head
Kefu Chai [Tue, 16 Jun 2026 08:24:16 +0000 (16:24 +0800)]
rocksdb: update submodule to fix FTBFS due to missing <cstdint>

43dd4cbd370 bumped the rocksdb submodule to v7.10.2 for CVE-2022-23476,
dropping the <cstdint> includes the v7.9.2 pin carried.
db/blob/blob_file_meta.h uses uint64_t but no longer includes <cstdint>,
so it compiles only where another header pulls <cstdint> in transitively.
GCC with libstdc++ 16.1.0 no longer does, so the build fails:

    db/blob/blob_file_meta.h: error: 'uint64_t' has not been declared

our targeted distros still pull it in, so the failure went unnoticed
there: ubuntu jammy (GCC 11.2.0) and noble (GCC 13.2).

bump the submodule to a cherry-pick of upstream rocksdb 72c3887167,
which fixes the same FTBFS.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agorgw/d4n: Update policy unit test 65286/head
Samarah Uriarte [Thu, 11 Jun 2026 17:48:42 +0000 (17:48 +0000)]
rgw/d4n: Update policy unit test

Signed-off-by: Samarah Uriarte <samarah.uriarte@ibm.com>
2 weeks agorgw/d4n: adding a thread to asynchronously update
Pritha Srivastava [Mon, 1 Sep 2025 08:56:17 +0000 (14:26 +0530)]
rgw/d4n: adding a thread to asynchronously update
localweight to the cache backend. Removing the code
to update the localweight from GET and PUT requests.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
2 weeks agomgr/dashboard: align nvmeof cli with missing parameters and functions from the old... 69339/head
Tomer Haskalovitch [Tue, 2 Jun 2026 10:20:28 +0000 (13:20 +0300)]
mgr/dashboard: align nvmeof cli with missing parameters and functions from the old nvmeof cli

fixes: https://tracker.ceph.com/issues/77108
Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
2 weeks agocrimson,mgr: mark assert-only variables [[maybe_unused]] 69509/head
Sun Yuechi [Mon, 15 Jun 2026 19:41:34 +0000 (03:41 +0800)]
crimson,mgr: mark assert-only variables [[maybe_unused]]

These variables are only read inside assert(), which is compiled out
under NDEBUG. Mark them [[maybe_unused]] to silence the warnings while
keeping the debug-only assert() style used by the surrounding code:

  src/crimson/os/seastore/lba/btree_lba_manager.cc:1078: unused variable 'orig_len' [-Wunused-variable]
  src/crimson/os/seastore/omap_manager/log/log_manager.cc:73: variable 'ret' set but not used [-Wunused-but-set-variable]
  src/crimson/os/seastore/transaction_manager.cc:382: variable 'intermediate_key' set but not used [-Wunused-but-set-variable]
  src/mgr/PyModule.cc:166,186: unused variable 'r' [-Wunused-variable]

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2 weeks agotest/crimson/seastore: use gtest assertion macros instead of assert()
Sun Yuechi [Mon, 15 Jun 2026 19:41:27 +0000 (03:41 +0800)]
test/crimson/seastore: use gtest assertion macros instead of assert()

Plain assert() is compiled out under NDEBUG, leaving the checked
variables unused. Use the always-evaluated gtest macros instead.

  src/test/crimson/seastore/test_cbjournal.cc:586: variable 'old_written_to' set but not used [-Wunused-but-set-variable]
  src/test/crimson/seastore/test_btree_lba_manager.cc:345: unused structured binding declaration [-Wunused-variable]

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2 weeks agorgw/d4n: deleting LFUDAEntry and LFUDAObjEntry instances
Pritha Srivastava [Thu, 28 Aug 2025 07:06:07 +0000 (12:36 +0530)]
rgw/d4n: deleting LFUDAEntry and LFUDAObjEntry instances
in LFUDAPolicy destructor.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
2 weeks agocrimson,test: remove unused functions and dead variable
Sun Yuechi [Mon, 15 Jun 2026 19:41:19 +0000 (03:41 +0800)]
crimson,test: remove unused functions and dead variable

Fixing these warnings:

  src/crimson/os/seastore/seastore.cc:83: 'omaptree_initialize' defined but not used [-Wunused-function]
  src/crimson/osd/replicated_recovery_backend.cc:733: 'nullopt_if_empty' defined but not used [-Wunused-function]
  src/test/rgw/test_rgw_kms_cache.cc:63: 'rethrow' defined but not used [-Wunused-function]
  src/test/librados/test_cxx.cc:215: variable 'cmd' set but not used [-Wunused-but-set-variable]

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2 weeks agoMerge pull request #69106 from bigjust/upgrade-rocksdb-7.10.2-cve-2022-23476
SrinivasaBharathKanta [Tue, 16 Jun 2026 04:24:11 +0000 (09:54 +0530)]
Merge pull request #69106 from bigjust/upgrade-rocksdb-7.10.2-cve-2022-23476

rocksdb: upgrade submodule to v7.10.2 to address CVE-2022-23476

2 weeks agoMerge pull request #68662 from kamoltat/wip-ksirivad-stretch-crush-experiment
SrinivasaBharathKanta [Tue, 16 Jun 2026 04:23:01 +0000 (09:53 +0530)]
Merge pull request #68662 from kamoltat/wip-ksirivad-stretch-crush-experiment

src/script: init test_stretch_crush_collisions.sh

2 weeks agoMerge pull request #68425 from dheart-joe/pretty-kvtool-output
SrinivasaBharathKanta [Tue, 16 Jun 2026 04:22:07 +0000 (09:52 +0530)]
Merge pull request #68425 from dheart-joe/pretty-kvtool-output

tool/ceph-kvstore-tool: add --pretty-binary-key option

2 weeks agoMerge pull request #67747 from indirasawant/wip-isawant-mgr-standby-details
SrinivasaBharathKanta [Tue, 16 Jun 2026 04:21:26 +0000 (09:51 +0530)]
Merge pull request #67747 from indirasawant/wip-isawant-mgr-standby-details

mon/mgr: include standby manager details in ceph mgr stat

2 weeks agodoc/releases/tentacle: add more v20.2.2 blocker fixes
Patrick Donnelly [Mon, 15 Jun 2026 23:30:24 +0000 (19:30 -0400)]
doc/releases/tentacle: add more v20.2.2 blocker fixes

Resolves: https://tracker.ceph.com/issues/77357
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agodoc: tentacle 20.2.2 release notes
Yuri Weinstein [Thu, 11 Jun 2026 17:09:25 +0000 (10:09 -0700)]
doc: tentacle 20.2.2 release notes

Resolves: https://tracker.ceph.com/issues/77357
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2 weeks agoMerge pull request #69467 from kotreshhr/mirror-handle-dup-add-directory-notification
Kotresh HR [Tue, 16 Jun 2026 02:48:44 +0000 (08:18 +0530)]
Merge pull request #69467 from kotreshhr/mirror-handle-dup-add-directory-notification

tools/cephfs_mirror: Ignore duplicate directory acquire notifications

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 weeks agoMerge PR #69494 into main
Patrick Donnelly [Tue, 16 Jun 2026 01:25:50 +0000 (21:25 -0400)]
Merge PR #69494 into main

* refs/pull/69494/head:
doc: Document restarting failed release builds

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoMerge PR #69492 into main
Patrick Donnelly [Tue, 16 Jun 2026 01:22:38 +0000 (21:22 -0400)]
Merge PR #69492 into main

* refs/pull/69492/head:
doc/dev/release-process: update according to supported releases

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
2 weeks agodoc/dev/release-process: update according to supported releases 69492/head
Patrick Donnelly [Mon, 15 Jun 2026 21:14:13 +0000 (17:14 -0400)]
doc/dev/release-process: update according to supported releases

From: https://docs.ceph.com/en/latest/start/os-recommendations/

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agodoc: Document restarting failed release builds 69494/head
David Galloway [Mon, 15 Jun 2026 21:29:22 +0000 (17:29 -0400)]
doc: Document restarting failed release builds

Signed-off-by: David Galloway <david.galloway@ibm.com>
2 weeks agomgr/dashboard: bump nvmeof submodule to 1.8.2 69511/head
Vallari Agrawal [Mon, 15 Jun 2026 21:30:12 +0000 (00:30 +0300)]
mgr/dashboard: bump nvmeof submodule to 1.8.2

Update proto files and gateway submodule

Fixes: https://tracker.ceph.com/issues/77422
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 weeks agoMerge PR #69446 into main
Patrick Donnelly [Mon, 15 Jun 2026 20:14:23 +0000 (16:14 -0400)]
Merge PR #69446 into main

* refs/pull/69446/head:
python-common/cryptotools: stop using the removed X509Req API

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoMerge pull request #69289 from anoopcs9/fix-run-samba-perms
John Mulligan [Mon, 15 Jun 2026 19:42:48 +0000 (15:42 -0400)]
Merge pull request #69289 from anoopcs9/fix-run-samba-perms

cephadm/smb: Bind mount /run with 0755

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@gmail.com>
2 weeks agoMerge pull request #68532 from Ericmzhang/wip-overlapped-roots-autoscale
Ericmzhang [Mon, 15 Jun 2026 17:28:56 +0000 (10:28 -0700)]
Merge pull request #68532 from Ericmzhang/wip-overlapped-roots-autoscale

Mgr: Allow autoscaling for overlapped roots

2 weeks agoMerge pull request #68856 from tchaikov/wip-ceph-dencoder-dlclose
Kefu Chai [Mon, 15 Jun 2026 12:14:23 +0000 (20:14 +0800)]
Merge pull request #68856 from tchaikov/wip-ceph-dencoder-dlclose

ceph-dencoder: skip dlclose under ASan so leaks symbolise

Reviewed-by: Nitzan Mordechai <nmordec@ibm.com>
2 weeks agoMerge pull request #69415 from ronen-fr/wip-rf-clsrefcount
Ronen Friedman [Mon, 15 Jun 2026 11:31:57 +0000 (14:31 +0300)]
Merge pull request #69415 from ronen-fr/wip-rf-clsrefcount

crimson/osd: fix PGBackend::remove() to return ENOENT on no-op deletes

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 weeks agorgw: declare rgw_a's dependency on rgw_schedulers and kmip 69474/head
Sun Yuechi [Sun, 14 Jun 2026 20:45:37 +0000 (04:45 +0800)]
rgw: declare rgw_a's dependency on rgw_schedulers and kmip

rgw_a uses rgw::dmclock::* (rgw_schedulers) and kmip_* (kmip) but never
declared either, so each consumer relinked them by hand. ld.bfd hid this
via lazy archive extraction; mold pulls the members and fails with
undefined symbols. Declare it on rgw_a (PRIVATE) and drop the now
redundant explicit links from radosgw and the rgw shared library.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2 weeks agotools/cephfs_mirror: Ignore duplicate directory acquire notifications 69467/head
Kotresh HR [Sun, 14 Jun 2026 18:41:07 +0000 (00:11 +0530)]
tools/cephfs_mirror: Ignore duplicate directory acquire notifications

Make PeerReplayer::add_directory() idempotent when the mgr re-sends
acquire for a directory already in the replayer list.

Fixes: https://tracker.ceph.com/issues/77398
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agoqa/cephfs: Add test for duplicate directory acquire notify
Kotresh HR [Sun, 14 Jun 2026 18:41:02 +0000 (00:11 +0530)]
qa/cephfs: Add test for duplicate directory acquire notify

Verify that reloading the mirroring module and removing a directory
does not leave a ghost replayer entry that keeps syncing snapshots.

Fixes: https://tracker.ceph.com/issues/77398
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agoMerge pull request #69281 from Matan-B/wip-matanb-seastore-p95
Matan Breizman [Mon, 15 Jun 2026 09:11:08 +0000 (12:11 +0300)]
Merge pull request #69281 from Matan-B/wip-matanb-seastore-p95

seastore: add latency distribution (p95/p99) support

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Mohit Agrawal <moagrawa@redhat.com>
2 weeks agoMerge pull request #66864 from ShwetaBhosale1/fix_issue_74045_ssh_hardning_feature
Shweta Bhosale [Mon, 15 Jun 2026 05:33:35 +0000 (11:03 +0530)]
Merge pull request #66864 from ShwetaBhosale1/fix_issue_74045_ssh_hardning_feature

mgr/cephadm: Cephadm hardening (SSH channel)

2 weeks agoMerge pull request #69005 from Jayaprakash-ibm/wip-jaya-mon-features-test-fix
SrinivasaBharathKanta [Sat, 13 Jun 2026 22:54:52 +0000 (04:24 +0530)]
Merge pull request #69005 from Jayaprakash-ibm/wip-jaya-mon-features-test-fix

qa: fix TEST_mon_features feature checks in mon/misc.sh

2 weeks agoMerge pull request #68650 from leonidc/fix_force_exit_gw
SrinivasaBharathKanta [Sat, 13 Jun 2026 22:54:33 +0000 (04:24 +0530)]
Merge pull request #68650 from leonidc/fix_force_exit_gw

nvmeofgw:fix forcing unavalable gw exit by sending

2 weeks agoMerge pull request #68435 from stzuraski898/wip-sz-76048
SrinivasaBharathKanta [Sat, 13 Jun 2026 22:53:49 +0000 (04:23 +0530)]
Merge pull request #68435 from stzuraski898/wip-sz-76048

mgr: ActivePyModules does not set Description in labeled get_perf_schema_python

2 weeks agoMerge pull request #68018 from kotreshhr/mirror-asok-metrics
Kotresh HR [Sat, 13 Jun 2026 18:29:00 +0000 (23:59 +0530)]
Merge pull request #68018 from kotreshhr/mirror-asok-metrics

tools/cephfs_mirror: Add metrics

2 weeks agopython-common/cryptotools: stop using the removed X509Req API 69446/head
Kefu Chai [Sat, 13 Jun 2026 01:50:09 +0000 (09:50 +0800)]
python-common/cryptotools: stop using the removed X509Req API

pyOpenSSL deprecated OpenSSL.crypto.X509Req in 24.2.0 (2024-07-20) and
removed it in 26.3.0 (2026-06-12). as we don't pin pyopenssl, CI picked
up the new release, and create_self_signed_cert() started failing with:

  AttributeError: module 'OpenSSL.crypto' has no attribute 'X509Req'

this took down run-tox-mgr, run-tox-mgr-dashboard-py3 and the mypy check.

we only used X509Req to build a subject name and then copied it into the
X509 cert. so drop it, and set the subject on the cert directly. the
resulting cert stays the same: subject from dname, issuer set to the same
subject, self-signed.

Fixes: https://tracker.ceph.com/issues/77391
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoMerge pull request #69421 from ShwetaBhosale1/fix_issue_77340_remove_-P_from_shebang_...
Kefu Chai [Sat, 13 Jun 2026 01:13:48 +0000 (09:13 +0800)]
Merge pull request #69421 from ShwetaBhosale1/fix_issue_77340_remove_-P_from_shebang_flags

ceph.spec.in: disable -P in python shebang for cephadm binary

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoqa: Add mirror metrics testcases 68018/head
Kotresh HR [Mon, 25 May 2026 18:44:03 +0000 (00:14 +0530)]
qa: Add mirror metrics testcases

Add testcases for newly introduced mirror
metrics and validate it via 'fs mirror peer status'
asok interface.

Fixes: https://tracker.ceph.com/issues/73453
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agodoc: Update the mirroring doc with new metrics fields
Kotresh HR [Mon, 25 May 2026 18:22:29 +0000 (23:52 +0530)]
doc: Update the mirroring doc with new metrics fields

Update the mirroring documentation and also the
release notes with new metrics introduced and it's
availability via 'fs mirror peer status' asok
interface.

Fixes: https://tracker.ceph.com/issues/73453
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agoqa: Fix the mirroring tests with new nested peer_status output
Kotresh HR [Mon, 25 May 2026 17:34:57 +0000 (23:04 +0530)]
qa: Fix the mirroring tests with new nested peer_status output

Fixes: https://tracker.ceph.com/issues/73453
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2 weeks agotools/cephfs_mirror: Nest peer_status metrics by dir path and peer uuid
Kotresh HR [Fri, 5 Jun 2026 14:23:14 +0000 (19:53 +0530)]
tools/cephfs_mirror: Nest peer_status metrics by dir path and peer uuid

Restructure peer_status output so mirrored directory paths can be
shared by multiple peers without key collisions. Metrics are grouped
as metrics/<dir_path>/peer/<peer_uuid>/ instead of flat dir keys.

Sample output:
--------------
1. When two dirs are syncing.
{
    "metrics": {
        "/parent/d0": {
            "peer": {
                "8a85ab25-70f9-48e9-b82d-56324e75209b": {
                    "state": "syncing",
                    "current_syncing_snap": {
                        "id": 2,
                        "name": "d0_snap0",
                        "sync-mode": "full",
                        "avg_read_throughput_bytes": "9.01 MiB/s",
                        "avg_write_throughput_bytes": "26.74 MiB/s",
                        "crawl": {
                            "state": "completed",
                            "duration": "2s"
                        },
                        "datasync_queue_wait": {
                            "state": "completed",
                            "duration": "0s"
                        },
                        "bytes": {
                            "sync_bytes": "60.83 MiB",
                            "total_bytes": "149.94 MiB",
                            "sync_percent": "40.57%"
                        },
                        "files": {
                            "sync_files": 2028,
                            "total_files": 5000,
                            "sync_percent": "40.56%"
                        },
                        "eta": "10s"
                    },
                    "snaps_synced": 0,
                    "snaps_deleted": 0,
                    "snaps_renamed": 0
                }
            }
        },
        "/parent/d1": {
            "peer": {
                "8a85ab25-70f9-48e9-b82d-56324e75209b": {
                    "state": "syncing",
                    "current_syncing_snap": {
                        "id": 3,
                        "name": "d1_snap0",
                        "sync-mode": "full",
                        "avg_read_throughput_bytes": "6.80 MiB/s",
                        "avg_write_throughput_bytes": "20.04 MiB/s",
                        "crawl": {
                            "state": "in-progress",
                            "duration": "2s"
                        },
                        "datasync_queue_wait": {
                            "state": "completed",
                            "duration": "1s"
                        },
                        "bytes": {
                            "sync_bytes": "4.12 MiB",
                            "total_bytes": "124.98 MiB",
                            "sync_percent": "3.30%"
                        },
                        "files": {
                            "sync_files": 125,
                            "total_files": 4189,
                            "sync_percent": "2.98%"
                        },
                        "eta": "18s"
                    },
                    "snaps_synced": 0,
                    "snaps_deleted": 0,
                    "snaps_renamed": 0
                }
            }
        }
    }
}
---------
2. When two directories are synced

------------------------------------------
{
    "metrics": {
        "/parent/d0": {
            "peer": {
                "8a85ab25-70f9-48e9-b82d-56324e75209b": {
                    "state": "idle",
                    "last_synced_snap": {
                        "id": 2,
                        "name": "d0_snap0",
                        "crawl_duration": "2s",
                        "datasync_queue_wait_duration": "0s",
                        "sync_duration": "30s",
                        "sync_time_stamp": "422538.254127s",
                        "sync_bytes": "149.94 MiB",
                        "sync_files": 5000
                    },
                    "snaps_synced": 1,
                    "snaps_deleted": 0,
                    "snaps_renamed": 0
                }
            }
        },
        "/parent/d1": {
            "peer": {
                "8a85ab25-70f9-48e9-b82d-56324e75209b": {
                    "state": "idle",
                    "last_synced_snap": {
                        "id": 3,
                        "name": "d1_snap0",
                        "crawl_duration": "2s",
                        "datasync_queue_wait_duration": "1s",
                        "sync_duration": "33s",
                        "sync_time_stamp": "422546.205798s",
                        "sync_bytes": "149.94 MiB",
                        "sync_files": 5000
                    },
                    "snaps_synced": 1,
                    "snaps_deleted": 0,
                    "snaps_renamed": 0
                }
            }
        }
    }
}

Fixes: https://tracker.ceph.com/issues/73453
Signed-off-by: Kotresh HR <khiremat@redhat.com>