Actions
Backport #16547
closedjewel:ObjectCacher: doesn't correctly handle read replies on split BufferHeads
Release:
jewel
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
- 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 almost 8 years ago
- Status changed from New to 7
https://github.com/ceph/ceph/pull/10074
Sepia's idle right now so I'll run this through on its own once gitbuilders are done.
Updated by Greg Farnum almost 8 years ago
- Assignee changed from Greg Farnum to Nathan Cutler
Forgot to update this. These are good results: http://pulpito.ceph.com/?branch=jewel-16002
Nathan, I'm assigning to you so this is in somebody's hands and I think I've seen you poking at it lately. ;)
Updated by Nathan Cutler almost 8 years ago
- Description updated (diff)
- Status changed from 7 to In Progress
Updated by Loïc Dachary over 7 years ago
- Status changed from In Progress to Resolved
- Target version set to v10.2.3
Updated by Loïc Dachary over 7 years ago
- Subject changed from jewel:ObjctCacher: doesn't correctly handle read replies on split BufferHeads to jewel:ObjectCacher: doesn't correctly handle read replies on split BufferHeads
Actions