Skip to content

os/bluestore: Fix bluefs_fnode_t::seek#63188

Merged
aclamk merged 2 commits intoceph:mainfrom
aclamk:aclamk-fix-70911-envelope-dirty-recover
Jun 3, 2025
Merged

os/bluestore: Fix bluefs_fnode_t::seek#63188
aclamk merged 2 commits intoceph:mainfrom
aclamk:aclamk-fix-70911-envelope-dirty-recover

Conversation

@aclamk
Copy link
Contributor

@aclamk aclamk commented May 8, 2025

The new code on BlueFS envelope mode has uncovered decade old bug in bluefs_fnode_t::seek.
When offset is larger than 2^63 the function logic thought valid extent has been found.

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

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

aclamk added 2 commits May 8, 2025 17:10
The test intends to prove that recovery breaks when reading random data.
The problem is that "length" read is random. When "length" is larger
than 2^63 the read request is passed to Block Device,
where it fail is_valid_io() test.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
When offset is larger than 2^63 the function logic thought valid
extent has been found. Fixed now.

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

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
@aclamk aclamk requested a review from a team as a code owner May 8, 2025 17:25
@aclamk aclamk requested a review from ifed01 May 8, 2025 17:25
Copy link
Contributor

@ifed01 ifed01 left a comment

Choose a reason for hiding this comment

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

Nice catch

@aclamk aclamk added the aclamk-testing-nauvoo bluestore testing label May 21, 2025
@aclamk
Copy link
Contributor Author

aclamk commented Jun 3, 2025

Verified by https://tracker.ceph.com/issues/71503.

@aclamk aclamk merged commit a7db4ac into ceph:main Jun 3, 2025
21 checks passed
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.

2 participants