Edit the section "Data Pool Damage" in doc/cephfs/disaster-recovery.rst.
This commit is part of the project of improving the data-recovery parts
of the CephFS documentation, as requested in the Ceph Power Users
Feedback Summary in mid-2025.
auth: remove unused AuthTicket::renew_after member variable
The AuthTicket::renew_after field is only set in init_timestamps() and
read by dump() for debugging purposes. It has no functional use cases
and causes encoding/decoding inconsistencies.
During decoding, this field remains unchanged, creating discrepancies
between original and decoded values. This issue was masked because
check-generated.sh and readable.sh reused struct instances, preserving
stale field values across encode/decode cycles.
An upcoming change will allocate fresh instances for each decode
operation, which would expose these inconsistent values.
Remove the unused field to eliminate the encoding inconsistency and
simplify the codebase.
Alex Ainscow [Mon, 21 Jul 2025 07:17:57 +0000 (08:17 +0100)]
osd: Replace deprecated std::align_storage_t with alignas
C++23 has been enabled, causing deprecated warnings. Following the
"possible implementation" in the C++ docs, I have replaced the last
remaining aligned_storage_t.
* refs/pull/63214/head:
release note: add a note that "subvolume info" cmd output can also...
doc/cephfs: update docs since "subvolume info" cmd output can also...
qa/cephfs: add test to check clone source info's present in...
mgr/vol: show clone source info in "subvolume info" cmd output
mgr/vol: keep clone source info even after cloning is finished
* refs/pull/58564/head:
client: clamp sizes to INT_MAX in sync i/o code paths
client: restrict bufferlist to total write size
src/test: test sync/async i/o code paths with huge (4GiB) buffers
- for arm64 hitting (Use `node --trace-warnings ...` to show where the warning was created)
NX Cannot find module @rollup/rollup-linux-arm64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
Pass --verbose to see the stacktrace.
- due this this make check arm64 failing
- added the fix as per https://github.com/vitejs/vite/discussions/15532#discussioncomment-13369584
- its failing then NX Falling back to ts-node for local typescript execution. This may be a little slower.
NX Cannot find module '@rspack/binding-linux-arm64-gnu'
- the above fix failed asking more deps from rollup, so added whole rollup package
osd/scrub: allow auto-repair on operator-initiated scrubs
Previously, operator-initiated scrubs would not auto-repair, regardless
of the value of the 'osd_scrub_auto_repair' config option. This was
less confusing to the operator than it could have been, as most
operator commands would in fact cause a regular periodic scrub
to be initiated. However, that quirk is now fixed: operator commands
now trigger 'op-initiated' scrubs. Thus the need for this patch.
The original bug was fixed in https://github.com/ceph/ceph/pull/54615,
but was unfortunately re-introduced later on. Fixes: https://tracker.ceph.com/issues/72178 Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
librbd: images aren't closed in group_snap_*_by_record() on error
Fixes memory leak and handles resource leak scenario when at leat one IoCtx is not
created successfully. This is done by returning error before opening any image.
Changes are made in group_snap_remove_by_record and group_snap_rollback_by_record
cephadm.postinst fails on ubuntu 24.04, because the cephadm user it
creates ends up with a `/nonexistent` home directory:
> mkdir: cannot create directory '/nonexistent/.ssh': No such file or directory
on ubuntu 22.04, this user's home directory is `/home/cephadm`
the `adduser` man page for 24.04 includes this new text:
> If no home directory is specified, the default home directory for a new system user is /nonexistent. This directory should never exist on any Debian system, and adduser will never create it automatically.
Ville Ojamo [Wed, 16 Jul 2025 14:59:08 +0000 (21:59 +0700)]
doc/radosgw: Internal link and single-keystroke improvements
Use ref for hyperlink instead of abusing "external links" feature for
intra-docs link in cloud-transition.rst, add a label in
cloud-restore.rst for it.
Use auto-generated link text instead of manually adding that same
section title as link text in cloud-transition.rst.
One list item was missing a colon in s3_objects_dedup.rst.
Add space between number and units in s3_objects_dedup.rst.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Ville Ojamo [Wed, 16 Jul 2025 08:21:20 +0000 (15:21 +0700)]
doc/radosgw: Small improvements in s3_objects_dedup.rst
Fix sentence that had "different same" to just "different" (verified the
right one from the original author).
Remove colon at the end of section titles.
Remove rendered horizontal lines between sections.
Use double backticks for command name.
Use regular apostrophe in one sentence to be consistent with the rest.
Add missing full stop at the end of several sentences.
Very small language improvements in a few sentences.
Use consistent indent in one line.
Remove hyphens from many word pairs and don't capitalize few terms.
For consistency with rest of the docs.
Fix typos "spliting" to "splitting", "underlined" to "underlying".
Spell out "thousands" instead of using an apostrophe after the number.
Reformat table to use row separators like rest of the docs instead of
empty columns.
Separate number and unit with a space. Remove rendered underscores that
seemed to be an attempt to imprecisely align cell contents to right.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
include/function2.hpp: avoid using std::aligned_storage_t
std::aligned_storage_t was deprecated in C++23, now that we've switched
to C++23. let's address the warning like:
```
In file included from /mnt/igor/github/salieri11/ceph/src/osdc/Objecter.cc:15:
In file included from /mnt/igor/github/salieri11/ceph/src/osdc/Objecter.h:44:
/mnt/igor/github/salieri11/ceph/src/include/function2.hpp:962:10: error: 'aligned_storage_t' is deprecated [-Werror,-Wdeprecated-declarations]
962 | std::aligned_storage_t<Capacity> capacity_;
```
in this change, we
- update function2.hpp with upstream
- apply the fix to trade std::aligned_storage_t with an alignas-based
equivalent implementation
rgw: pass list_parts_each_t function by lvalue reference
list_parts_each_t is an alias of
`fu2::unique_function<int(const Part&) const>`, which is a non copyable
function. so in theory, we cannot copy it. and in the recent version of
function2, unique_function is not coyable anymore. if we bump up the
vendored function2.hpp, the build breaks.
so, in this change, we change the virtual function of
`Object::list_parts()` from passing the plain value of
`list_parts_each_t` to rvalue reference `list_parts_each_t` so that we
don't need to copy this non-copyable function. this allows us to
keep in sync with upstream function2, and to be symantically correct
regarding to the unique-ness of the functor.
Dnyaneshwari [Thu, 22 May 2025 07:08:25 +0000 (12:38 +0530)]
mgr/dashboard: Glacier Storage Class - create and list Fixes: https://tracker.ceph.com/issues/71897 Signed-off-by: Dnyaneshwari Talwekar <dtalwekar@redhat.com>
Kefu Chai [Wed, 21 May 2025 03:38:47 +0000 (11:38 +0800)]
osd: migrate from boost::variant to std::variant
Replace boost::variant with std::variant throughout the OSD-related
codebase. This change reduces third-party dependencies by leveraging
the C++ standard library alternative.
Changes:
- common/inline_variant.h: Replace the existing match() helper with a
wrapper around std::visit. The previous implementation constructed a
visitor class from given functions; the new implementation provides
equivalent functionality using standard library primitives.
- osd/osd_types.h: Add templated operator<< overload for std::variant.
Since boost::variant provided a built-in operator<< that we relied on,
and std::variant does not include this functionality, we implement our
own formatter. To avoid ambiguous overload resolution (where types
implicitly convertible to variant alternatives could match both the
variant formatter and their native formatters), the template requires
at least one alternative type parameter.
This migration maintains existing functionality while eliminating the
boost::variant dependency.
Remove unused header includes from librados_c.cc to reduce unnecessary
dependencies. This cleanup was initially motivated by removing unused
linkage of cls_lock_client, but expanded to address all unused includes
in the file.