Skip to content

neorados: specify alignments for aligned_storage#66396

Open
cbodley wants to merge 1 commit intoceph:mainfrom
cbodley:wip-73750
Open

neorados: specify alignments for aligned_storage#66396
cbodley wants to merge 1 commit intoceph:mainfrom
cbodley:wip-73750

Conversation

@cbodley
Copy link
Contributor

@cbodley cbodley commented Nov 24, 2025

the default alignment of Alignment = std::bit_ceil(S) was a very conservative estimate. reduce that to alignof(std::max_align_t) to match the old behavior, then assert on construction that the given alignment is large enough for the implementation's type

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

Show available Jenkins commands

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

Copy link
Contributor

@adamemerson adamemerson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you ever so much. This was the worst.

@cbodley
Copy link
Contributor Author

cbodley commented Nov 24, 2025

oops,

/ceph/src/neorados/RADOS.cc:77:17: error: 'alignof' applied to an expression is a GNU extension [-Werror,-Wgnu-alignof-expression]
   77 |   static_assert(alignof(impl) >= alignof(object_t));

the default alignment of `Alignment = std::bit_ceil(S)` was a very
conservative estimate. reduce that to `alignof(std::max_align_t)` to
match the old behavior, then assert on construction that the given
alignment is large enough for the implementation's type

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

Signed-off-by: Casey Bodley <cbodley@redhat.com>
Copy link
Contributor

@mkogan1 mkogan1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also fixes the following segf which occurs when performing radosgw-admin user create in a vstart env built with clang 19 and -march=native , ex:

echo ${RANDOM} ; gdb --args radosgw-admin user create --display-name="cosbench_s3" --uid=cosbench${RANDOM} --access-key b2345678901234567890${RANDOM} --secret b2345678901234567890123456
78901234567890${RANDOM} --debug_rgw=30
Image

@ljflores
Copy link
Member

@cbodley I will test this to ensure it's working on the rados side.

@cbodley
Copy link
Contributor Author

cbodley commented Nov 25, 2025

https://jenkins.ceph.com/job/ceph-pull-requests-arm64/83735/

The following tests FAILED:
33 - run-rbd-unit-tests-109.sh (Failed)

@cbodley
Copy link
Contributor Author

cbodley commented Nov 25, 2025

jenkins test make check arm64

Copy link
Contributor

@tchaikov tchaikov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@cbodley
Copy link
Contributor Author

cbodley commented Dec 1, 2025

@ljflores
Copy link
Member

ljflores commented Dec 1, 2025

Running some rados tests here:
https://tracker.ceph.com/issues/73749

@batrick
Copy link
Member

batrick commented Feb 7, 2026

This PR is under test in https://tracker.ceph.com/issues/74811.

batrick added a commit to batrick/ceph that referenced this pull request Feb 12, 2026
* refs/pull/66396/head:
	neorados: specify alignments for aligned_storage
@batrick
Copy link
Member

batrick commented Mar 6, 2026

This PR is under test in https://tracker.ceph.com/issues/75377.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants