Ville Ojamo [Mon, 3 Aug 2026 05:58:17 +0000 (12:58 +0700)]
doc/install: update get-packages.rst
Bring the document up to date so that URLs actually work and other
information is current.
Cephadm installation only listed commands for el8. Instead of expanding
it for other distros/versions, just refer to the cephadm install doc.
Minor punctuation, capitalization, markup improvements.
Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
After Boost is configured, Windows builds now add ${Boost_INCLUDE_DIRS} to the real Catch2
source targets.
This is basically a temporary hack until either the CI system runs
Catch2 different or I can hack something into the build system that
changes things on Windows.
Assisted-by: Codex:GPT-5 Signed-off-by: Jesse F. Williamson <jfw@ibm.com>
Extend a stronger vocabulary of C++ Concepts and helpful functions
via an internal collection of some Concepts not currently in the
C++ Standard along with useful predicates for compile-time capability
queries and runtime feature invocation.
The mini-library provides general capabilities meant for writing clean
algorithms, doing metaprogramming, or offering better support for
general operations involving sequences, and so on:
Concepts for common container categories (like contiguous sequence,
ordered associative, etc.);
Capability queries for container operations such as append, prepend,
range insertion, etc.;
Aggregate capability checks such as “can_append”, “can_append_range”,
“can_erase_if”, etc.;
Utility helpers that select appropriate operations for containers, like “push_back”,
"insert_front", etc.;
The tests cover standard STL containers, custom minimal test containers for
fallback behavior, negative concept edge cases, and an example container-generic
algorithm that composes several helpers.
Assisted-by: Codex:GPT-5 Signed-off-by: Jesse F. Williamson <jfw@ibm.com>
Ville Ojamo [Thu, 30 Jul 2026 05:17:07 +0000 (12:17 +0700)]
doc/install: improve get-packages.rst
Fix some substitutions not working, printing stable-release instead of a
release name.
Fix indentation both rendered and source consistency.
Change tabs to spaces and delete spaces at end of lines.
Add text about Cephadm private repo support instead of claiming it
requires internet. Add link to Cephadm deployment.
Improve capitalization, use prompt for CLI examples.
Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
* refs/pull/70212/head:
qa/cephfs-mirror: Fix tests for ISO sync_time_stamp
doc/cephfs-mirroring: document ISO-8601 sync timestamps
cephfs_mirror: format sync timestamps as ISO-8601 local time
tools/cephfs-mirror: report epoch time in last snap sync time
crimson/os/seastore/transaction_manager: allow non-existing lba regions
when demoting them
It is possible that, when we do demote_region, the target region has
already been removed from the lba tree, for example, a temp recovering
object might have already been renamed to the real one, which means all
lba mappings within its original region have been moved away.
Xuehan Xu [Mon, 18 May 2026 09:55:35 +0000 (17:55 +0800)]
crimson/os/seastore: demote/promote background processes are also
rewrite transactions
So we need to merge the extents promoted/demoted with their counterparts
in client transactions, just like trim/cleaner transaction do.
The difference between demote/promote transactions and trim/cleaner
transactions is that the former also involves remapping extents while the
latter only involves rewriting and mutating extents.
With the logical bucket cache in place, all rewrite transactions need to
handle shadow extents carafully, too.
Xuehan Xu [Sat, 9 May 2026 02:15:24 +0000 (10:15 +0800)]
test/crimson/seastore/test_transaction_manager: the scatter_allocation case shouldn't submit the trans
In scatter_allocation, an extent is split into several
small ones, and the last allocation is supposed to fail,
in which case, the small extents that belong to the same
allocation wouldn't be attached to the parent lba leaf
node. Sumitting the transaction would trigger assertions,
and is not consistent with the behavior of nornal crimson
OSDs.
Zhang Song [Wed, 3 Sep 2025 07:58:59 +0000 (15:58 +0800)]
crimson/os/seastore: rename extent_2q_state_t to extent_pin_state_t
This is because, even for LRU caches, extents still have pin states,
although it's only Fresh. What's more, in the logical bucket cache
world, extents in both LRU and 2Q caches may be in the
Fresh/PendingPromote/Promoting state.
Signed-off-by: Zhang Song <zhangsong02@qianxin.com> Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
Patrick Donnelly [Thu, 30 Jul 2026 00:18:57 +0000 (20:18 -0400)]
.github/workflows: switch to pull_request_target trigger
Switch the trigger from `pull_request` to `pull_request_target` so that
the workflow definition on `main` is evaluated for PRs targeting active
release branches (main, umbrella, tentacle, squid). This allows the check
to run cleanly across release branches without requiring workflow file
backports to each branch.
Additionally:
- Update `src/script/verify-qa` to accept an optional target directory argument ($1).
- Run the trusted `verify-qa` script from `main` against the checked-out PR directory (`./pull_request`).
The concern of exfiltrating secrets is important but not relevant here:
we're not using the secrets in the definition and we explicitly
downgrade the github token to `read` permission.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Patrick Donnelly [Thu, 30 Jul 2026 00:43:02 +0000 (20:43 -0400)]
.github/workflows: switch to pull_request_target trigger
Switch the trigger from `pull_request` to `pull_request_target` so that
the workflow definition on `main` is evaluated for PRs targeting active
release branches (main, umbrella, tentacle, squid). This allows the check
to run cleanly across release branches without requiring workflow file
backports to each branch.
While this workflow passes `github.token`, the token permissions are
strictly restricted to read-only (`contents: read` and `pull-requests: read`).
Because no PR code is checked out or executed, using `pull_request_target`
presents zero security risk here.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
John Mulligan [Wed, 29 Jul 2026 19:19:55 +0000 (15:19 -0400)]
python-common/smb: work around socket path length limits for grpc lib
The grpc library (at least the version on centos/rocky 10) has a limit
of 107 characters. Even a fairly short host name is going to be close
to this limit due to the UUID and service name in the path.
Because the tool doesn't do much else and it is safe, the workaround is
to chdir to into the parent dir of the socket and only pass the relative
path name of socket.
Fixes: https://tracker.ceph.com/issues/78857 Signed-off-by: John Mulligan <jmulligan@redhat.com>
script/ptl-tool: add 'crimson', 'build/ops', 'common', 'tests' to SUPPORTED_QA_TAGS
PRs carrying these GitHub labels were silently dropped from both the
QA tracker's PR "Labels" column and the Redmine ticket's tag_list,
since SUPPORTED_QA_TAGS is a fixed whitelist and these were never
added to it despite being real, actively-used component/category
labels (e.g. ceph/ceph#70661, #70658 for crimson).
John Mulligan [Tue, 28 Jul 2026 01:12:32 +0000 (21:12 -0400)]
cephadm: update how smb configwatch sidecar is started
In order to update users (and groups) live without AD support we need
the configwatch sidecar to be configured for split (altfiles) nsswitch.
The capability to configure configwatch for nsswitch was added to
sambacc under a special mode of the run subcommand.
Switch to starting the confgwatch sidecar using the run subcommand and
configuring the appropriate user and nsswitch setup options.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Tue, 28 Jul 2026 01:12:18 +0000 (21:12 -0400)]
cephadm: update smb env to specify writable shared passwd/group files
Update environment for smb containers to specify arguments that sambacc
will use to configure the containers for a split configuration for
users (passwd) and group files. The writable copy will be store in
the samba state dir (/var/lib/samba in the container) and be shared
across the primary and sidecar containers so that configwatch can
pull new users and groups lists from ceph and apply them live.
Signed-off-by: John Mulligan <jmulligan@redhat.com>