Project

General

Profile

Actions

Backport #16546

closed

hammer: 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:
High
Target version:
Release:
hammer
Pull request ID:
Crash signature (v1):
Crash signature (v2):


Related issues 2 (0 open2 closed)

Has duplicate Ceph - Bug #17545: Data corruption using RBD with caching enabledDuplicate10/10/2016

Actions
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 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.

Actions #3

Updated by Greg Farnum over 7 years ago

  • Assignee deleted (Greg Farnum)
  • Priority changed from Normal to High
Actions #4

Updated by Greg Farnum over 7 years ago

  • Has duplicate Bug #17545: Data corruption using RBD with caching enabled added
Actions #5

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
Actions #6

Updated by Nathan Cutler over 7 years ago

  • Description updated (diff)
  • Status changed from New to In Progress
  • Assignee set to Nathan Cutler
Actions #7

Updated by Nathan Cutler over 7 years ago

  • Description updated (diff)
  • Assignee changed from Nathan Cutler to Alexey Sheplyakov
Actions #8

Updated by Nathan Cutler over 7 years ago

  • Status changed from In Progress to Resolved
  • Target version set to v0.94.10
Actions

Also available in: Atom PDF