diff options
author | Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp> | 2016-11-03 04:54:19 -0700 |
---|---|---|
committer | Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp> | 2016-12-06 17:08:55 -0800 |
commit | 8d067ab2f631b147745e5eb3cf85056042c1439e (patch) | |
tree | bd2aaa2b70ab17418f9e62eab525aae6425369af /include/erasurecode | |
parent | 0a2c06b8b446cbe4fda89c18c20b069728c70323 (diff) | |
download | liberasurecode-8d067ab2f631b147745e5eb3cf85056042c1439e.tar.gz |
ISA-L Cauchy support
This is for supporting ISA-L cauchy based matrix. The difference
from isa_l_rs_vand is only the matrix to use the encode/decode calculation.
As a known issue, isa_l_rs_vand backend has constraint for the
combinations of the available fragment to be able to decode/reconstuct.
(See related change in detail)
To avoid the constraint, this patch adds another isa-l backend to use
cauchy matrix and keep the backward compatibility, this is in
another isa_l_rs_cauchy namespace.
For implementation consieration, the code is almost same except the matrix
generation fucntion so that this patch makes isa_l_common.c file for
gathering common fucntions like init/encode/decode/reconstruct. And then the
common init funciton takes an extra args "gen_matrix_func_name" for entry
point to load the fucntion by dlsym from isa-l .so file.
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Related-Change: Icee788a0931fe692fe0de31fabc4ba450e338a87
Change-Id: I6eb150d9d0c3febf233570fa7729f9f72df2e9be
Diffstat (limited to 'include/erasurecode')
-rw-r--r-- | include/erasurecode/erasurecode.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/erasurecode/erasurecode.h b/include/erasurecode/erasurecode.h index a17c45c..d1e8f4e 100644 --- a/include/erasurecode/erasurecode.h +++ b/include/erasurecode/erasurecode.h @@ -48,6 +48,7 @@ typedef enum { EC_BACKEND_ISA_L_RS_VAND = 4, EC_BACKEND_SHSS = 5, EC_BACKEND_LIBERASURECODE_RS_VAND = 6, + EC_BACKEND_ISA_L_RS_CAUCHY = 7, EC_BACKENDS_MAX, } ec_backend_id_t; |