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
librbd/cache/pwl/ssd: fix first_valid_entry calculation in retire_entries() #42843
Conversation
@MahatiC please review. |
ce34436
to
b235983
Compare
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 don't understand what this is fixing or correcting. Could you clarify? Is there a bug specific to this? If so can you add the relevant tracker ticket?
b235983
to
f00e156
Compare
@idryomov . please review. Thanks! |
…ries() Consider one control_block which cotain multi encode(WriteLogCacheEntry): Log1: WriteLogEntry Log2: WriteLogEntry Log3: Non-WriteLogEntry For this case, currently calc method is: control_block_pos + sizeof(control_block). But in fact, it should: control_block_pos + sizeof(control_block) + data_length(Log1 + Log2). Wrong first_valid_entry will persist to superblock and restart to read. This cause read wrong position and when decode(WriteLogCacheEntry) it will report bug. Fixes: https://tracker.ceph.com/issues/52323 Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
f00e156
to
2d337fb
Compare
It looked good to me but I decided to tweak it bit:
Let me know if you see any issues with that. |
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