diff options
| author | Eric Lambert <eric.lambert@seagate.com> | 2014-10-22 17:12:52 -0700 |
|---|---|---|
| committer | Eric Lambert <eric.lambert@seagate.com> | 2014-10-22 17:12:52 -0700 |
| commit | c83be9fef11e69df102b62ed2052d91aed9f598e (patch) | |
| tree | db9dcb3247d904bdb75bea2ac3bb7a901b73fc88 /src | |
| parent | 3b89f689a7e062dba24de92f77d3ce9144c1fbb6 (diff) | |
| download | pyeclib-c83be9fef11e69df102b62ed2052d91aed9f598e.tar.gz | |
use enumerated backend_id to reference a backenduse_backend_id
Diffstat (limited to 'src')
| -rw-r--r-- | src/c/pyeclib_c/pyeclib_c.c | 10 | ||||
| -rw-r--r-- | src/python/pyeclib/core.py | 8 | ||||
| -rw-r--r-- | src/python/pyeclib/ec_iface.py | 4 |
3 files changed, 9 insertions, 13 deletions
diff --git a/src/c/pyeclib_c/pyeclib_c.c b/src/c/pyeclib_c/pyeclib_c.c index 53b07bb..baaa899 100644 --- a/src/c/pyeclib_c/pyeclib_c.c +++ b/src/c/pyeclib_c/pyeclib_c.c @@ -84,7 +84,7 @@ static PyObject * pyeclib_c_check_metadata(PyObject *self, PyObject *args); * @param k integer number of data elements * @param m integer number of checksum elements * @param w integer word size in bytes - * @param type_str string name of erasure coding algorithm + * @param backend_id erasure coding backend * @return pointer to PyObject or NULL on error */ static PyObject * @@ -94,10 +94,10 @@ pyeclib_c_init(PyObject *self, PyObject *args) PyObject *pyeclib_obj_handle = NULL; int k, m, hd=0; int use_inline_chksum = 0, use_algsig_chksum = 0; - const char *type_str; + const ec_backend_id_t backend_id; /* Obtain and validate the method parameters */ - if (!PyArg_ParseTuple(args, "iis|iii", &k, &m, &type_str, &hd, &use_inline_chksum, &use_algsig_chksum)) { + if (!PyArg_ParseTuple(args, "iii|iii", &k, &m, &backend_id, &hd, &use_inline_chksum, &use_algsig_chksum)) { PyErr_SetString(PyECLibError, "Invalid arguments passed to pyeclib.init"); return NULL; } @@ -113,7 +113,7 @@ pyeclib_c_init(PyObject *self, PyObject *args) pyeclib_handle->ec_args.hd = hd; pyeclib_handle->ec_args.ct = use_inline_chksum ? CHKSUM_CRC32 : CHKSUM_NONE; - pyeclib_handle->ec_desc = liberasurecode_instance_create(type_str, &(pyeclib_handle->ec_args)); + pyeclib_handle->ec_desc = liberasurecode_instance_create(backend_id, &(pyeclib_handle->ec_args)); if (pyeclib_handle->ec_desc <= 0) { PyErr_SetString(PyECLibError, "Invalid arguments passed to liberasurecode_instance_create"); goto error; @@ -668,7 +668,7 @@ pyeclib_c_get_metadata(PyObject *self, PyObject *args) return NULL; } - ret = liberasurecode_get_fragment_metadata(pyeclib_handle->ec_desc, fragment, &c_fragment_metadata); + ret = liberasurecode_get_fragment_metadata(fragment, &c_fragment_metadata); if (ret < 0) { fragment_metadata = NULL; diff --git a/src/python/pyeclib/core.py b/src/python/pyeclib/core.py index ba32991..5eb23c8 100644 --- a/src/python/pyeclib/core.py +++ b/src/python/pyeclib/core.py @@ -59,17 +59,13 @@ class ECPyECLibDriver(object): name = self.ec_type.name - if name == "flat_xor_hd_3": - hd = 3 - name = "flat_xor_hd" - elif name == "flat_xor_hd_4": + if name == "flat_xor_hd": hd = 4 - name = "flat_xor_hd" self.handle = pyeclib_c.init( self.k, self.m, - name, + ec_type.value, hd, self.inline_chksum, self.algsig_chksum) diff --git a/src/python/pyeclib/ec_iface.py b/src/python/pyeclib/ec_iface.py index 54244c2..ad34663 100644 --- a/src/python/pyeclib/ec_iface.py +++ b/src/python/pyeclib/ec_iface.py @@ -84,8 +84,8 @@ class PyECLib_EC_Types(PyECLibEnum): # 0 is False in the boolean sense but enum members evaluate to True jerasure_rs_vand = 1 jerasure_rs_cauchy = 2 - flat_xor_hd_3 = 3 - flat_xor_hd_4 = 4 + flat_xor_hd = 3 + isa_l_rs_vand = 4 # Output of Erasure (en)Coding process are data "fragments". Fragment data |
