Actions
Backport #16546
closedhammer: ObjectCacher doesn't correctly handle read replies on split BufferHeads
Release:
hammer
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Updated by Xiaoxi Chen almost 8 years ago
- Copied from Bug #16002: ObjctCacher: doesn't correctly handle read replies on split BufferHeads added
Updated by Nathan Cutler almost 8 years ago
- Tracker changed from Bug to Backport
- Description updated (diff)
- Status changed from Pending Backport to New
original 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 over 7 years ago
- Assignee deleted (
Greg Farnum) - Priority changed from Normal to High
Updated by Greg Farnum over 7 years ago
- Has duplicate Bug #17545: Data corruption using RBD with caching enabled added
Updated by Nathan Cutler over 7 years ago
- Subject changed from hammer: ObjctCacher: doesn't correctly handle read replies on split BufferHeads to hammer: ObjectCacher doesn't correctly handle read replies on split BufferHeads
Updated by Nathan Cutler over 7 years ago
- Description updated (diff)
- Status changed from New to In Progress
- Assignee set to Nathan Cutler
Updated by Nathan Cutler over 7 years ago
- Description updated (diff)
- Assignee changed from Nathan Cutler to Alexey Sheplyakov
Updated by Nathan Cutler over 7 years ago
- Status changed from In Progress to Resolved
- Target version set to v0.94.10
Actions