Actions
Bug #16002
closedObjctCacher: doesn't correctly handle read replies on split BufferHeads
% Done:
0%
Source:
Support
Tags:
Backport:
jewel,hammer
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
In ObjectCacher::bh_read_finish, we have a nonsense snippet
} else { bh->bl.substr_of(bl, oldpos-bh->start(), bh->length()); mark_clean(bh); }
Here we're trying to map the offsets of an incoming OSD op reply's bufferlist with our BufferHeads. But oldpos==bh->start at all times. The correct offset calculation is "bh->start()-start" ("start" being a function parameter corresponding to bl's position within the object).
The patch is obviously simple enough, but I want tests verifying it as well.
Updated by Greg Farnum almost 8 years ago
- Status changed from In Progress to Pending Backport
- Backport set to jewel
I'll probably do this backport within a couple days, FYI.
Updated by Xiaoxi Chen almost 8 years ago
- Backport changed from jewel to jewel,hammer
Hammer is not EOL yet, we would better backport to hammer as well
Updated by Xiaoxi Chen almost 8 years ago
- Copied to Backport #16546: hammer: ObjectCacher doesn't correctly handle read replies on split BufferHeads added
Updated by Xiaoxi Chen almost 8 years ago
- Copied to Backport #16547: jewel:ObjectCacher: doesn't correctly handle read replies on split BufferHeads added
Updated by Greg Farnum almost 8 years ago
Oh whoops, pr: https://github.com/ceph/ceph/pull/9606
Updated by Nathan Cutler over 7 years ago
- Status changed from Pending Backport to Resolved
Actions