summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* v1.0.7v1.0.7Tushar Gohad2015-04-152-2/+2
|
* Adding a new HD XOR code for k=3, m=3, hd=3Kevin Greenan2015-04-095-5/+25
| | | | | | 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).
* Merged in fix-metadata-check (pull request #13)Tushar Gohad2015-03-303-4/+10
|\ | | | | | | fix-metadata-check from Kota
| * Add a decode error test w/o metadata checkKota Tsuyuzaki2015-03-301-0/+5
| |
| * Fix invalid metadata handlingKota Tsuyuzaki2015-03-303-5/+6
| | | | | | | | | | | | | | | | | | On the current code, get_fragment_partition might touch the invlid memory area with minus index (that means a invalid header) and it causes segmentation fault. This fixes it to handle the minus index as a EBADHEADER and then no segmentaition fault appeared on the case.
* | Merged in zaitcev/liberasurecode/missing_ldl (pull request #12)Tushar Gohad2015-03-301-1/+1
|\ \ | | | | | | | | | Fix building with --disable-static
| * | Fix building with --disable-staticPete Zaitcev2015-03-301-1/+1
|/ / | | | | | | | | | | | | | | Fedora packaging rules require ./configure --disable-static. However, that ends with: ../src/.libs/liberasurecode.so: undefined reference to `dlopen' The fix is to add a missing -ldl into flags of test_xor_hd_code.
* | Fix nasty rebuild bug where partiy would be reconstructed incorrectlyKevin Greenan2015-03-303-48/+96
|/ | | | | | | | when both data and parity was missing. The fix is to just call decode when reconstructing parity, since it will have to do extra work anyway when data is missing. We did a little extra work in ISA-L to do better, but can save that for later, since 99% of the time decode will perform just fine.
* README.md edited online with BitbucketTushar Gohad2015-03-291-2/+2
|
* Sanitize fragments_to_string() errorcodes, add tests for frags w/o fmetadataTushar Gohad2015-03-284-13/+64
| | | | Addresses issue#10
* Fixing bug where non-Intel platforms fail to compile due to SSE2-specific ↵Kevin Greenan2015-03-171-0/+2
| | | | | | header in the xor-encoder. FWIW, we did conditional compilation in the body of the code, but missed the header include.
* v1.0.5v1.0.5Tushar Gohad2015-03-132-2/+2
|
* Log to syslog and stderr by defaultTushar Gohad2015-03-131-1/+1
|
* v1.0.4v1.0.4Tushar Gohad2015-03-112-2/+2
|
* Reallow 0 byte encodesTushar Gohad2015-03-112-10/+0
|
* test: Add missing EBACKENDNOTAVAIL checksv1.0.3Tushar Gohad2015-03-101-4/+55
| | | | | | | | | | | | Without these checks, backend libraries not being available is causing errors like in tests that are missing these checks: $ make test [snip] ok 1 - test_create_backend_invalid_args: UNKNOWN lt-liberasurecode_test: liberasurecode_test.c:276: test_destroy_backend_invalid_args: Assertion `desc > 0' failed. make: *** [test] Aborted (core dumped) Closes issue #6
* Set runtime ld path to point to local so's when running testsTushar Gohad2015-03-101-6/+15
|
* WIP: fix doubtful codeKota Tsuyuzaki2015-03-091-3/+2
|
* Fix JERASURE_SONAME in alg_sig.hTushar Gohad2015-03-091-0/+4
|
* Use enum value when handling shssKota Tsuyuzaki2015-03-092-2/+2
|
* Merged in small-fix (pull request #11) Tushar Gohad2015-03-081-12/+14
|\ | | | | Memory Leak Bug Fix on shss
| * Fix memory leak by alloc internal_payloadKota Tsuyuzaki2015-03-091-12/+14
|/ | | | | | shss always needs to decode but fragments_to_string will alloc internal_payload as a decoded data. It causes duplicated memory allocation and memory leak.
* Fix so version to be 1.0.1 (was 0.9.10)v1.0.1Tushar Gohad2015-03-082-2/+2
|
* v1.0v1.0Tushar Gohad2015-03-083-3/+3
|
* Improve error code returnsTushar Gohad2015-03-082-17/+21
|
* Add md5sum implementationTushar Gohad2015-03-082-0/+340
|
* Apply EINSUFFFRAGS to reconstructKota Tsuyuzaki2015-03-062-1/+22
|
* v1.0-rc3v1.0-rc3Tushar Gohad2015-03-051-1/+1
|
* README.md edited online with BitbucketTushar Gohad2015-03-051-458/+406
|
* v1.0-rc2v1.0-rc2Tushar Gohad2015-03-041-441/+441
|
* Merged in documentation (pull request #9) Tushar Gohad2015-03-0415-26/+42
|\ | | | | Documentation Updating
| * Rename metadata_adder on backend_commonKota Tsuyuzaki2015-03-0511-12/+12
| | | | | | | | This patch renames the "metadata_adder" variable to "backend_metadata_size"
| * Rename frag_adder_sizeKota Tsuyuzaki2015-03-055-14/+16
| | | | | | | | | | | | | | | | 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-272-2/+15
| |
| * Add shss id to README.mdKota Tsuyuzaki2015-02-271-2/+3
| |
* | Remove md5 from the supported checksum typesTushar Gohad2015-03-041-2/+1
|/ | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Merged in metadata_adder_new_patches2 (pull request #8) Tushar Gohad2015-03-0111-52/+242
|\ | | | | New (fixed) patch set of metadata_adder discussion
| * Fix segmentation_fault on shss with no priv_argsmetadata_adder_new_patches2Kota Tsuyuzaki2015-02-271-1/+6
| |
| * Fix isa-l backend to use correct word sizeKota Tsuyuzaki2015-02-271-1/+3
| |
| * Add contributors into AUTHORS fileKota Tsuyuzaki2015-02-271-0/+6
| |
| * Add liberasurecode_get_fragment_size functionKota Tsuyuzaki2015-02-272-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix small thingsKota Tsuyuzaki2015-02-272-14/+11
| | | | | | | | | | | | | | | | Small fixes as follows: - Add is_compatible_with function into shss backend - Remove encoded data check against to shss at liberasurecode_test.c - Decrease metadata_adder size on shss backend to be correct fixed value
| * Enable to get fragment_len includes metadata_adderKota Tsuyuzaki2015-02-278-34/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-275-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-274-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix get_fragment_partition return valueKota Tsuyuzaki2015-02-272-2/+63
| | | | | | | | | | | | | | | | When num_missing is over than the num of parities (i.e. > m), get_fragment_partition should return -1 as an error code. This patch fixes it and adds a test called "test_get_fragment_partition" into liberasurecode_test.c.
| * Fix shss to instantiate backend discriptorKota Tsuyuzaki2015-02-261-14/+24
|/
* README.md edited online with Bitbucketv1.0-rc1Tushar Gohad2015-02-251-444/+444
|
* v1.0-rc1Tushar Gohad2015-02-252-2/+2
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>