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