summaryrefslogtreecommitdiff
path: root/include/erasurecode/erasurecode.h
Commit message (Collapse)AuthorAgeFilesLines
* Fragment metadata checksumming supportfrag_metadata_checksumTushar Gohad2016-03-101-12/+13
|
* Add a method to check if a backend is present.Timur Alperovich2016-03-081-0/+9
| | | | | | | 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
* Move fragment_header defn to main erasurecode headerTushar Gohad2015-09-171-4/+24
|
* Enforce the (k + m < 32) limit, add unit testsKota Tsuyuzaki2015-08-181-0/+2
|
* Rename remaining INTERNAL_RS_VAND instancesTushar Gohad2015-07-201-1/+1
| | | | ... to LIBERASURECODE_RS_VAND
* Plugging new internal RS backend into liberasurecode.Kevin Greenan2015-06-181-6/+7
|
* Rename frag_adder_sizeKota Tsuyuzaki2015-03-051-2/+3
| | | | | | | | 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-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 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-091-0/+14
|
* libec version is now stored in fragment headerEric Lambert2014-10-021-0/+2
|
* 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.
* Compile in pedantic mode and fail compilation on warnings. Also cleanup all ↵Eric Lambert2014-09-101-21/+0
| | | | 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>
* 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.
* - Cleaned up the documentation in erasurecode.h to ensure that itMark Storer2014-08-181-15/+38
| | | | | | | | | follows a common format and that it accurately reflects the code. - Cleaned up liberasurecode_instance_destroy to ensure that the return code is correct and that it is not trying to free data that has not been removed from the open instances. - Updated the tests to assert that the liberasurecode_instance_destroy method is return correctly.
* Updated liberasurecode_supported_checksum_types to accept a pointerMark Storer2014-08-151-3/+3
| | | | | argument that holds the length of the list returned (i.e. the number of supported checksum types).
* Added cleanup APIKevin Greenan2014-08-131-0/+32
|
* Split metadata handling into own routine, add crc32 supportTushar Gohad2014-08-071-22/+83
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Add HD parameter to generic params.Kevin Greenan2014-08-051-3/+1
|
* Stubbing the metadata functions and updating their interfaces.Kevin Greenan2014-07-301-2/+4
|
* Add liberasurecode_supported_backends API implementationTushar Gohad2014-07-251-4/+14
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Minor API doc fixup (backend names)Tushar Gohad2014-07-221-1/+5
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* null_code: First cutTushar Gohad2014-07-221-0/+3
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Fix data_size type, int -> uint64_tTushar Gohad2014-07-221-1/+1
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Ripping out galois.[ch] and dynamically pulling the multiplication functon ↵Kevin Greenan2014-07-221-1/+1
| | | | from jerasure
* Update encode API so liberasurecode allocates all memoryTushar Gohad2014-07-211-5/+11
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Added functionality needed to support the get_segment_info() API in PyECLib.Kevin Greenan2014-07-211-0/+15
|
* Make int types consistent across APITushar Gohad2014-07-181-12/+9
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* flat_xor_hd: Handle backend init errorsTushar Gohad2014-07-181-0/+1
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Wiring in the reconstruct preprocessing!Kevin Greenan2014-07-191-3/+5
|
* Wire-in the decoding preprocessing...Kevin Greenan2014-07-191-3/+8
| | | | This compiles, but has not been tested!
* Make 'w' part of common user args, set 'w' in backend initTushar Gohad2014-07-171-6/+4
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Fix liberasurecode main routines for new API (take 2)Tushar Gohad2014-07-161-5/+10
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Fix liberasurecode main routines for new APITushar Gohad2014-07-161-5/+10
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* More API documentationTushar Gohad2014-07-161-8/+32
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Pass only 'available_fragments' to decode/reconstructTushar Gohad2014-07-151-9/+7
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Move dl* specific defines to _backend.hTushar Gohad2014-07-151-6/+0
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* liberasurecode API changes after discussion w/ KevinTushar Gohad2014-07-151-17/+119
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Add decode, reconstruct, fragments_neededTushar Gohad2014-07-141-3/+12
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Macro out backend method namesTushar Gohad2014-07-131-4/+4
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Frontend/backend API split, make EC handle int typeTushar Gohad2014-07-131-58/+10
| | | | | | | .. also introduce a map for backend method stub name to backend library function names Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>