Project

General

Profile

Actions

Backport #16547

closed

jewel:ObjectCacher: doesn't correctly handle read replies on split BufferHeads

Added by Xiaoxi Chen almost 8 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Release:
jewel
Pull request ID:
Crash signature (v1):
Crash signature (v2):


Related issues 1 (0 open1 closed)

Copied from Ceph - Bug #16002: ObjctCacher: doesn't correctly handle read replies on split BufferHeadsResolvedGreg Farnum05/23/2016

Actions
Actions #1

Updated by Xiaoxi Chen almost 8 years ago

  • Copied from Bug #16002: ObjctCacher: doesn't correctly handle read replies on split BufferHeads added
Actions #2

Updated by Kefu Chai almost 8 years ago

  • Tracker changed from Bug to Backport
Actions #3

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.

Actions #4

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.

Actions #5

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. ;)

Actions #6

Updated by Nathan Cutler almost 8 years ago

  • Description updated (diff)
  • Status changed from 7 to In Progress
Actions #7

Updated by Loïc Dachary over 7 years ago

  • Status changed from In Progress to Resolved
  • Target version set to v10.2.3
Actions #8

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

Also available in: Atom PDF