New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
os/bluestore: a major refactor around allocmap persistency #50052
base: main
Are you sure you want to change the base?
Conversation
f873b9b
to
20d1081
Compare
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
src/os/bluestore/BlueStore.cc
Outdated
size_t calc_allocator_image_header_size() | ||
{ | ||
utime_t timestamp = ceph_clock_now(); | ||
allocator_image_header header(timestamp, s_format_version, s_serial); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess here will be a good place for "dummy_format_version"
src/os/bluestore/BlueStore.cc
Outdated
uint64_t allocation_size = -1; | ||
uint32_t crc = -1; | ||
bufferlist trailer_bl; | ||
allocator_image_trailer trailer(timestamp, s_format_version, s_serial, extent_count, allocation_size); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dummy_format_version
derr << "Failed bluefs->read() for trailer::read_bytes=" << read_bytes << ", req_bytes=" << trailer_size << dendl; | ||
return -1; | ||
} | ||
offset += read_bytes; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unused
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is used in bluefs->read call above
} | ||
offset += read_bytes; | ||
|
||
trailer_bl.claim_append(temp_bl); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Read directly into trailer_bl?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BlueFS::_read invalidates output buffer prior to reading into it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you considered a method of mixed encoding?
Where high fragmentation exist put bitmap fragment, where large free region exists, put extent.
20d1081
to
7070d0a
Compare
2a394df
to
794b475
Compare
794b475
to
64d807a
Compare
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
64d807a
to
03bf109
Compare
ceph api test |
jenkins api test |
jenkins test windows |
jenkins test api |
jenkins test windows |
1 similar comment
jenkins test windows |
It lacked reporting extents pending to release and ones that are being discard by bdev. Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
blob repair test case. Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
adding compare() and get_data() methods Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Fixes: https://tracker.ceph.com/issues/58646 Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
03bf109
to
c8725f4
Compare
This includes:
Fixes: https://tracker.ceph.com/issues/58646
Signed-off-by: Igor Fedotov igor.fedotov@croit.io
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. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows