Project

General

Profile

Actions

Fix #6754

closed

erasure-code: jerasure plugin does not check parameters properly

Added by Loïc Dachary over 10 years ago. Updated over 9 years ago.

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

100%

Source:
Community (dev)
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

proposed fix

wrong parameter checks which can make the whole thing SEGV.

All the RAID-6 codes have restrictions on the parameters but they are not correctly enforced for Liberation & Blaum-Roth codes in the CEPH wrapper class ... see text from PDF

"Minimal Density RAID-6 codes are MDS codes based on binary matrices which satisfy a lower-bound on the number of non-zero entries. Unlike Cauchy coding, the bit-matrix elements do not correspond to elements in GF (2 w ). Instead, the bit-matrix itself has the proper MDS property. Minimal Density RAID-6 codes perform faster than Reed-Solomon and Cauchy Reed-Solomon codes for the same parameters. Liberation coding, Liber8tion coding, and Blaum-Roth coding are three examples of this kind of coding that are supported in jerasure.

With each of these codes, m must be equal to two and k must be less than or equal to w. The value of w has restrictions based on the code:

  • With Liberation coding, w must be a prime number [Pla08b].
  • With Blaum-Roth coding, w + 1 must be a prime number [BR99].
  • With Liber8tion coding, w must equal 8 [Pla08a].
Actions #1

Updated by Loïc Dachary about 10 years ago

  • Subject changed from jerasure plugin does not check parameters properly to erasure-code: jerasure plugin does not check parameters properly
  • Assignee deleted (Loïc Dachary)
  • Parent task deleted (#4929)
Actions #2

Updated by Loïc Dachary over 9 years ago

  • Description updated (diff)
  • Status changed from New to In Progress
  • Assignee set to Loïc Dachary
Actions #3

Updated by Loïc Dachary over 9 years ago

  • Description updated (diff)
Actions #4

Updated by Loïc Dachary over 9 years ago

  • Tracker changed from Subtask to Fix
Actions #5

Updated by Loïc Dachary over 9 years ago

  • Description updated (diff)
  • Status changed from In Progress to Fix Under Review
Actions #6

Updated by Loïc Dachary over 9 years ago

  • % Done changed from 0 to 80
Actions #7

Updated by Loïc Dachary over 9 years ago

  • Status changed from Fix Under Review to Resolved
  • % Done changed from 80 to 100
Actions

Also available in: Atom PDF