Commit Graph

342 Commits

Author SHA1 Message Date
Kevin Greenan 5e6592d557 This will prevent the backends from reconstructing a specific index, when it is
specified as "available" by the caller.  I feel that only buggy code would do
this...

NOTE: In the future, we should return an error when this happens.
2015-06-23 13:12:40 -07:00
Tushar Gohad 4480ccaa39 Add pkg-config template for liberasurecode_rs_vand 2015-06-23 04:07:26 +00:00
Tushar Gohad 00dea310e0 Remove autoconf installed files from git control 2015-06-23 04:07:10 +00:00
Tushar Gohad 88182d15e1 Add liberasurecode_rs_vand backend to cleanfiles list 2015-06-22 18:21:01 +00:00
Tushar Gohad 4092c0dea7 Merged liberasurecode_rs_vand-rename into master 2015-06-22 10:58:16 -07:00
Tushar Gohad 9a01459117 Rename liberasurecode_rsvand -> liberasurecode_rs_vand 2015-06-22 02:54:53 +00:00
Tushar Gohad 8ecfc72e87 Fix get_supported_flags() arguments 2015-06-22 02:54:25 +00:00
Tushar Gohad 561296ddc7 Add -f argument to autoreconf to regenerate aclocal macros 2015-06-22 02:49:16 +00:00
Tushar Gohad b15717a6c7 Rename rs_vand_internal to liberasurecode_rs_vand 2015-06-22 00:40:05 +00:00
Tushar Gohad 6fac472e8f Fix open/write() and uninitialize var warnings in rs_vand internal 2015-06-22 00:00:07 +00:00
Tushar Gohad 379eaba7a2 Merge remote-tracking branch 'origin/new_commits_for_1_0_8' 2015-06-21 23:51:37 +00:00
Tushar Gohad c8e559c945 Silent autoconf warning for ac_cv_sizeof_long 2015-06-21 23:24:10 +00:00
Tushar Gohad c5cc9d84fe Mimic Zaitcev's CFLAGS fix on the debug side
Ref commit: 5cbab56a1a
2015-06-21 23:18:00 +00:00
Tushar Gohad 590aeec468 Add get_flags_from_cpuid.c to dist 2015-06-21 22:34:33 +00:00
Tushar Gohad 71be107be2 Merged fix_m4_macros into master 2015-06-21 15:25:41 -07:00
Tushar Gohad fe3dec94e4 Remove remaining m4/ references 2015-06-21 22:17:08 +00:00
Kevin Greenan ae13e4224f Properly set W in the new internal RS backend. Without this, the fragment length
passed up is incorrect.
2015-06-18 14:17:22 -07:00
Kevin Greenan 410f40a7e7 Remove excessive header install in src/Makefile.am 2015-06-18 13:45:02 -07:00
Kevin Greenan 5fdbdf79cc Properly detect 64-bit architecture. 2015-06-18 13:26:39 -07:00
Kevin Greenan c2ffbd488c Fix 'make test' to properly run null and installed backend tests. 2015-06-18 13:26:12 -07:00
Kevin Greenan 1118acd645 Fixing issue #17 to namespace header files. 2015-06-18 12:31:17 -07:00
Kevin Greenan e9ca485c7c Plugging new internal RS backend into liberasurecode. 2015-06-18 12:31:17 -07:00
Kevin Greenan fe537605b3 Adding internal tests for the new internal RS codec. 2015-06-18 12:31:17 -07:00
Kevin Greenan bf91980e29 Adding new built-in backend for RS Vandermonde
This is meant to be used in cases where ISA-L and Jerasure cannot be used.
2015-06-18 12:31:17 -07:00
Kevin Greenan f3a99e81e9 Removing all m4 references for CPUID by creating special C program to parse
CPUID and directly doing compiler checks in autoconf.ac
2015-05-03 17:50:38 -07:00
Kevin Greenan 738d579185 Replace GPL m4 macros with different macros inside of ax_ext.m4 2015-05-02 10:49:54 -07:00
Tushar Gohad e46c434e36 Add missing #ifdef __cplusplus closure, Fixes #14 (take 2) 2015-05-01 07:10:24 -07:00
Tushar Gohad e26a90a91f Merged in zaitcev/liberasurecode/missing_cflags (pull request #16)
Make ./configure to obey CFLAGS
2015-04-30 22:49:36 -07:00
Pete Zaitcev 5cbab56a1a Make ./configure to obey CFLAGS
Fedora build system sets global CFLAGS that include things like
mandatory security enhancements. It works for all other packages,
but ./configure in liberasurecode overrides provides CFLAGS.

See Red Hat bug for a humorous workaround:
 https://bugzilla.redhat.com/show_bug.cgi?id=1208695#c4

Note that this patch does not monkey with the --debug side.
Hopefuly this does not violate KISS principle.
2015-04-30 17:46:17 -06:00
Tushar Gohad 7e3b245b77 Add missing #ifdef __cplusplus closure, Fixes #14 2015-04-30 14:28:23 -07:00
Tushar Gohad 18276412fd Fix a uint < 0 warning reported by Clang
Also add -Wall for future builds
2015-04-30 13:43:23 -07:00
Kevin Greenan 5afed81193 This fixed the memory leak mentioned in Issue #12:
https://bitbucket.org/tsg-/liberasurecode/issue/12/make-valgrind-test-fails
2015-04-27 11:59:32 -07:00
Kevin Greenan a01b1818c8 This is the fix for Issue #13:
https://bitbucket.org/tsg-/liberasurecode/issue/13/decode-fails-for-many-cases-when-m-k

This fix includes:

1.) Proper buffer allocation for the 'missing_idxs' structure, which was not allocating enough
    space when k > m.
2.) Checks to use header fields of parity fragments during decode when *no* data fragments
    are available.
3.) Fixed the unit tests to properly handle the case where k <= m.
4.) Extended the unit test framework to support multiple tests per backend
5.) Added tests for all RS implementations: (4,8), (4,4), (10,10)
2015-04-27 11:59:21 -07:00
Tushar Gohad a380246762 v1.0.7 2015-04-15 12:00:36 -07:00
Kevin Greenan ac434453c5 Adding a new HD XOR code for k=3, m=3, hd=3
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).
2015-04-09 17:08:35 -07:00
Tushar Gohad 1c85fcfca6 Merged in fix-metadata-check (pull request #13)
fix-metadata-check from Kota
2015-03-30 19:12:41 -07:00
Tushar Gohad 497a0d8425 Merged in zaitcev/liberasurecode/missing_ldl (pull request #12)
Fix building with --disable-static
2015-03-30 19:10:58 -07:00
Pete Zaitcev 64d87a9064 Fix building with --disable-static
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.
2015-03-30 20:00:24 -06:00
Kevin Greenan 0d1e4136ae Fix nasty rebuild bug where partiy would be reconstructed incorrectly
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.
2015-03-30 15:23:22 -07:00
Kota Tsuyuzaki 3c4ff134cb Add a decode error test w/o metadata check 2015-03-30 12:30:39 +09:00
Kota Tsuyuzaki 309d7f1e47 Fix invalid metadata handling
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.
2015-03-30 11:01:56 +09:00
Tushar Gohad c10ec8a255 README.md edited online with Bitbucket 2015-03-29 20:23:45 +00:00
Tushar Gohad 9a24890f9c Sanitize fragments_to_string() errorcodes, add tests for frags w/o fmetadata
Addresses issue#10
2015-03-28 22:33:45 -07:00
Kevin Greenan a2f17bcd63 Fixing bug where non-Intel platforms fail to compile due to SSE2-specific header in the xor-encoder.
FWIW, we did conditional compilation in the body of the code, but missed the header include.
2015-03-17 11:29:39 -07:00
Tushar Gohad 4e1290ea61 v1.0.5 2015-03-13 00:47:05 -07:00
Tushar Gohad 21ed77fed2 Log to syslog and stderr by default 2015-03-13 00:08:56 -07:00
Tushar Gohad 235a976910 v1.0.4 2015-03-11 09:53:45 -07:00
Tushar Gohad d7d0bbde09 Reallow 0 byte encodes 2015-03-11 09:44:37 -07:00
Tushar Gohad b6851e829d test: Add missing EBACKENDNOTAVAIL checks
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
2015-03-10 19:17:51 -07:00
Tushar Gohad 93446db941 Set runtime ld path to point to local so's when running tests 2015-03-10 18:48:03 -07:00