Project

General

Profile

Bug #16002

ObjctCacher: doesn't correctly handle read replies on split BufferHeads

Added by Greg Farnum 11 months ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
ObjectCacher
Target version:
-
Start date:
05/23/2016
Due date:
% Done:

0%

Source:
Support
Tags:
Backport:
jewel,hammer
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Release:
Needs Doc:
No

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.


Related issues

Copied to Backport #16546: hammer: ObjectCacher doesn't correctly handle read replies on split BufferHeads Resolved
Copied to Backport #16547: jewel:ObjectCacher: doesn't correctly handle read replies on split BufferHeads Resolved

History

#1 Updated by Greg Farnum 10 months ago

  • Status changed from In Progress to Pending Backport
  • Backport set to jewel

I'll probably do this backport within a couple days, FYI.

#2 Updated by Xiaoxi Chen 10 months ago

  • Backport changed from jewel to jewel,hammer

Hammer is not EOL yet, we would better backport to hammer as well

#3 Updated by Xiaoxi Chen 10 months ago

  • Copied to Backport #16546: hammer: ObjectCacher doesn't correctly handle read replies on split BufferHeads added

#4 Updated by Xiaoxi Chen 10 months ago

  • Copied to Backport #16547: jewel:ObjectCacher: doesn't correctly handle read replies on split BufferHeads added

#6 Updated by Nathan Cutler 5 months ago

  • Status changed from Pending Backport to Resolved
  • Needs Doc set to No

Also available in: Atom PDF