Merge "ISA-L Cauchy support"

This commit is contained in:
Jenkins 2016-12-07 13:52:46 +00:00 committed by Gerrit Code Review
commit ca4d2dd7c3
4 changed files with 30 additions and 1 deletions

View File

@ -123,6 +123,7 @@ class PyECLib_EC_Types(PyECLibEnum):
isa_l_rs_vand = 4
shss = 5
liberasurecode_rs_vand = 6
isa_l_rs_cauchy = 7
# Output of Erasure (en)Coding process are data "fragments". Fragment data
@ -519,6 +520,7 @@ ALL_EC_TYPES = [
'isa_l_rs_vand',
'shss',
'liberasurecode_rs_vand',
'isa_l_rs_cauchy',
]

View File

@ -1004,6 +1004,9 @@ static const char* backend_id_to_str(uint8_t backend_id)
case 6:
backend_id_str = "liberasurecode_rs_vand\0";
break;
case 7:
backend_id_str = "isa_l_rs_cauchy\0";
break;
default:
backend_id_str = "unknown\0";
}

View File

@ -221,6 +221,29 @@ class TestPyECLibDriver(unittest.TestCase):
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=11, m=7, ec_type=_type4,
chksum_type=csum))
_type5 = 'isa_l_rs_vand'
if _type5 in VALID_EC_TYPES:
pyeclib_drivers.append(ECDriver(k=12, m=2, ec_type=_type5,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=11, m=2, ec_type=_type5,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=10, m=2, ec_type=_type5,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=8, m=4, ec_type=_type5,
chksum_type=csum))
_type6 = 'isa_l_rs_cauchy'
if _type6 in VALID_EC_TYPES:
pyeclib_drivers.append(ECDriver(k=12, m=2, ec_type=_type6,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=11, m=2, ec_type=_type6,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=10, m=2, ec_type=_type6,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=8, m=4, ec_type=_type6,
chksum_type=csum))
pyeclib_drivers.append(ECDriver(k=11, m=7, ec_type=_type6,
chksum_type=csum))
return pyeclib_drivers
def test_small_encode(self):

View File

@ -69,7 +69,8 @@ class TestPyECLib(unittest.TestCase):
self.rs_types = [(PyECLib_EC_Types.jerasure_rs_vand),
(PyECLib_EC_Types.jerasure_rs_cauchy),
(PyECLib_EC_Types.isa_l_rs_vand),
(PyECLib_EC_Types.liberasurecode_rs_vand)]
(PyECLib_EC_Types.liberasurecode_rs_vand),
(PyECLib_EC_Types.isa_l_rs_cauchy)]
self.xor_types = [(PyECLib_EC_Types.flat_xor_hd, 12, 6, 4),
(PyECLib_EC_Types.flat_xor_hd, 10, 5, 4),
(PyECLib_EC_Types.flat_xor_hd, 10, 5, 3)]