Project

General

Profile

Actions

Feature #9059

closed

osd: store opportunistic whole-object checksum

Added by Sage Weil over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

when we deep scrub, we have a whole-object checksums that cover data and omap. store a copy in object_info_t, along with the object version. later, if there is bitrot, and the object hasn't been modified, we will know it is this copy that went bad.

if we create an object, we can also set this checksum, taking care to use the same checksumming strategy that deep scrub does.

if we read an entire object, we can verify the checksum on read.

if we do a partial-object mutation, the object version changes, and the checksum info is implicitly invalidated. we could be varying degreses of clever here about whether the mutation affected the checksum (did we overwrite all bytes, and no omap keys are present? etc.).

Actions #1

Updated by Sage Weil over 9 years ago

  • Target version deleted (0.85 cont.)
Actions #2

Updated by Sage Weil over 9 years ago

  • Description updated (diff)
  • Source changed from other to Development
Actions #3

Updated by Sage Weil over 9 years ago

  • Target version set to v.actually91
Actions #4

Updated by Sage Weil over 9 years ago

  • Status changed from New to In Progress
Actions #5

Updated by Sage Weil over 9 years ago

  • Status changed from In Progress to 7
Actions #6

Updated by Sage Weil over 9 years ago

  • Target version changed from v.actually91 to v0.92
Actions #7

Updated by Sage Weil over 9 years ago

  • Status changed from 7 to Resolved
Actions

Also available in: Atom PDF