Project

General

Profile

Fix #6754

Updated by Loïc Dachary over 9 years ago

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

Back