summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Add get_by_desc ret val handling to get_fragment_sizeKota Tsuyuzaki2016-09-071-0/+1
| | | | | | | | | | As well as any other callers, libersurecode_get_fragment_size should handle the return value of liberasurecode_get_backend_instance_by_desc. Otherwise, get_by_desc can return NULL and it causes an invalid memory access in librerasurecode_get_fragment_size. Change-Id: I489f8b5d049610863b5e0b477b6ff70ead245b55
* Fragment metadata checksumming supportfrag_metadata_checksumTushar Gohad2016-03-103-15/+19
|
* Add a method to check if a backend is present.Timur Alperovich2016-03-082-1/+10
| | | | | | | Uses dlopen to check if a backend is present. This may be used by consumers who need to check which backends are present on a system. Issue #23
* Don't use PATH_MAX const.Ondřej Nový2016-02-281-2/+3
| | | | | | | There are systems, for example Hurd, which doesn't define this constant because there are no such limit. See [1] link for explanation. [1] http://www.gnu.org/software/hurd/community/gsoc/project_ideas/maxpath.html
* Fix minor revTushar Gohad2015-12-101-2/+2
|
* Split helpers.h include for backward compatibilityTushar Gohad2015-09-222-38/+80
| | | | | | | Users of liberasurecode <= 1.0.7 used alloc/free helpers (which they shouldn't have). This change is to make sure we are still able to those older revs of programs and they work with newer liberasurecode.
* Eliminate erasurecode_stdinc.h dependency on log.hTushar Gohad2015-09-181-1/+0
|
* Move fragment_header defn to main erasurecode headerTushar Gohad2015-09-172-26/+25
|
* Release 1.0.9v1.0.9Tushar Gohad2015-09-061-3/+3
|
* Enforce the (k + m < 32) limit, add unit testsKota Tsuyuzaki2015-08-181-0/+2
|
* Rename MAJOR, MINOR version macrosTushar Gohad2015-08-061-4/+4
|
* Rename remaining INTERNAL_RS_VAND instancesTushar Gohad2015-07-201-1/+1
| | | | ... to LIBERASURECODE_RS_VAND
* Rename rs_vand_internal to liberasurecode_rs_vandTushar Gohad2015-06-221-5/+5
|
* Plugging new internal RS backend into liberasurecode.Kevin Greenan2015-06-181-6/+7
|
* Adding new built-in backend for RS VandermondeKevin Greenan2015-06-182-0/+89
| | | | This is meant to be used in cases where ISA-L and Jerasure cannot be used.
* Add missing #ifdef __cplusplus closure, Fixes #14 (take 2)Tushar Gohad2015-05-011-1/+1
|
* Add missing #ifdef __cplusplus closure, Fixes #14Tushar Gohad2015-04-301-0/+4
|
* This fixed the memory leak mentioned in Issue #12:Kevin Greenan2015-04-271-0/+2
| | | | https://bitbucket.org/tsg-/liberasurecode/issue/12/make-valgrind-test-fails
* Adding a new HD XOR code for k=3, m=3, hd=3Kevin Greenan2015-04-091-2/+8
| | | | | | Also added additional test to test_xor_code to do an exhaustive decode test (all possible 1 and 2 disk failures) and changed teh default liberasurecode test to test (3, 3, 3).
* Fix JERASURE_SONAME in alg_sig.hTushar Gohad2015-03-091-0/+4
|
* Add md5sum implementationTushar Gohad2015-03-081-0/+45
|
* Rename metadata_adder on backend_commonKota Tsuyuzaki2015-03-051-2/+2
| | | | This patch renames the "metadata_adder" variable to "backend_metadata_size"
* Rename frag_adder_sizeKota Tsuyuzaki2015-03-052-4/+5
| | | | | | | | This patch renames following variables and functions: - frag_adder_size -> frag_backend_metadata_size - set_fragment_adder_size() -> set_fragment_backend_metadata_size() - get_fragment_adder_size() -> get_fragment_backend_metadata_size()
* Update documentation about metadata_adderKota Tsuyuzaki2015-02-271-1/+1
|
* Add liberasurecode_get_fragment_size functionKota Tsuyuzaki2015-02-271-0/+12
| | | | | | | | | | | | | | | For get_segment_info function of PyECLib, liberasurecode should support get_fragment_size function because if pyeclib and liberasurecode have the calculation of fragment size each other, it might cause the size mismatch (i.e. it'll be a bug) in the future development work. This patch introduces liberasurecode_get_fragment_size function to return the fragment_size calculated at liberasurecode accoring to specified backend descriptor. It really usefull to help caller knows how large size it have to expect and all pyeclib has to do for retrieving fragment_size will be just calling the liberasurecode_get_fragment_size function on get_segment_info.
* Enable to get fragment_len includes metadata_adderKota Tsuyuzaki2015-02-273-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows to get correct fragment size includes metadata_adder. Current implementaion automatically allocates extra bytes for the metadata_adder in alloc_buffer, and then, no information about the extra bytes will be returned to the api caller side. It's too confusable because callers couldn't know how size they assumes as the fragment size. To be easy to find out the size infomation, this patch adds "frag_adder_size" variable into fragment metadata and also some functions to get fragment size. The definitions of these size infomation are here, fragment_meta: - size-> raw data size used to encode/fragment_to_string - frag_adder_size-> metadata_adder of backend specification And the definitions of functions are here, - get_fragment_size: -> return sizeof(fragument_header) + size + frag_adder_size - get_fragment_buffer_size: -> return size + frag_adder_size - get_fragment_payload_size: -> return size By using these function above, users could get the size information directly from fragments. It results in enabling to return fragment_len to the caller side easily.
* Change metdata_adder type from int into size_tKota Tsuyuzaki2015-02-271-1/+1
|
* Move backend metadata adding to fragment allocationKota Tsuyuzaki2015-02-272-1/+2
| | | | | | | | | | | | | | On the first consideration[1], metadata_adder is defined as a extra byte size for "each" fragment. However, current implementation is an element affects to data_len. (i.e. aligned_data_size for original segment data) We should make metadata_adder to be a fixed value against to each fragment, otherwise the extra bytes for the fragments will have flexible length depends on "K". It will be quite complex for backend implementation to know "How large bytes the raw data size is", "How large bytes the backend could use as extra bytes for each fragment". 1: https://bitbucket.org/tsg-/liberasurecode/commits/032b57d9b1c7aadc547fccbacf88af786c9067e7?at=master
* Ensure fragment pointers passed to cleanupKota Tsuyuzaki2015-02-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | This patch achieves a couple of things as follows: - Undoing the liberasurecode_encode_cleanup specification to expect "fragment" pointers as its arguments. - Ensuring liberasurecode_encode to pass "fratment" pointers to liberasurecode_encode_cleanup. liberasurecode_encode_cleanup is used also in pyeclib so that it is expected that the argument pointers (i.e. encoded_data and encoded_parity) should be the collection of the heads of "fragment" pointers. However, when the backend encode fails, liberasurecode keeps "data" pointers behind of fragment_header, and then, goes to "out:" statement to cleanup its memories. It causes invalid pointer failure. This patch adds a translation function from "data" pointers to "fragment" pointers and ensure liberasurecode_encode to pass correct pointers to libersurecode_encode_cleanup.
* Add NTT backend called "shss"ntt_backendKota Tsuyuzaki2015-02-101-0/+1
| | | | | | | | | | | | | | This introduces a new plug-able backend called "shss" made by Nippon Telegraph and Telephone corporation (NTT). Note that this produces a just plug-in to shss erasure coding binary so that users have to install a shss binary (i.e. libshss.so) aside from liberasurecode when using shss. Please contact us if you are insterested in the NTT backend (welcome!): Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp> Co-Author: Ryuta Kon <kon.ryuta@po.ntts.co.jp>
* Adjust checksum enum defintions to match pyeclibTushar Gohad2015-02-011-3/+3
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Add optional fragment metadata check for decodeTushar Gohad2015-01-301-2/+5
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Decreasing the verbosity of the tests and renaming one of the stripe verifyKevin Greenan2015-01-191-0/+1
| | | | | tests to a 'fragment verify' test, since it is using is_valid_fragment and and validating fragment headers, not stripe-level.
* Changing stripe verification to properly work with clients.Kevin Greenan2015-01-111-0/+2
|
* add fragment validationEric Lambert2014-11-092-2/+15
|
* Make include of config_liberasurecode.h conditonal. Have been expermenting ↵Eric Lambert2014-11-081-0/+2
| | | | with using cmake to build the project and cmake does not generate the config_liberasurecode.h file.
* reorder add_fragment_metadata arg list to be consistent with rest of codeEric Lambert2014-10-061-2/+2
|
* add backend_id and backend_version to fragment metadataEric Lambert2014-10-033-1/+6
|
* libec version is now stored in fragment headerEric Lambert2014-10-022-2/+7
|
* backends now support verion checksEric Lambert2014-10-021-0/+8
|
* Fixed macro definition of version elementsEric Lambert2014-10-011-3/+3
|
* Add the ability for backends to specifyTushar Gohad2014-09-301-0/+4
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Plugging-in the ISA-L backend... Still needs more documentation and a ↵Kevin Greenan2014-09-291-0/+1
| | | | little clean-up, but the tests are passing...
* Char * backend names are no longer supported. They have been replaced with ↵Eric Lambert2014-09-291-25/+3
| | | | elements of the ec_backend_id_t enum.
* crc32 checksum now supported (prior to this commit checksum values wereEric Lambert2014-09-251-1/+1
| | | | not being placed into the fragment header).
* Compile in pedantic mode and fail compilation on warnings. Also cleanup all ↵Eric Lambert2014-09-105-26/+11
| | | | existing warnings.
* added argument validation logic and tests forEric Lambert2014-09-021-4/+2
| | | | | | | | liberasure_get_fragment_metadata and liberasurecode_verify_stripe_metadata. In the process removed the liberasure descriptor from the liberasure_get_fragment_metadata function's signature as it was not being used in the function's implementation.
* Add doxygen config. Update README, copyrights.Tushar Gohad2014-09-011-2/+3
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Backend changes needed to honor "excluded fragments".Kevin Greenan2014-08-212-3/+3
|
* API change for liberasurecode_fragments_neededKevin Greenan2014-08-201-10/+12
| | | | | | | Still needed: 1.) RS and XOR backends need to honor the 'exclude' argument. 2.) Need to add tests.