67 Commits

Author SHA1 Message Date
Eric Lambert
06bb20ca1c crc32 checksum now supported (prior to this commit checksum values were
not being placed into the fragment header).
2014-09-25 13:23:06 -07:00
Eric Lambert
512353f8be Compile in pedantic mode and fail compilation on warnings. Also cleanup all existing warnings. 2014-09-10 17:13:45 -07:00
Eric Lambert
6bbcfde657 added argument validation logic and tests for
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.
2014-09-02 15:07:07 -07:00
Tushar Gohad
d03557c151 Add doxygen config. Update README, copyrights.
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-09-01 22:40:09 -07:00
Kevin Greenan
c9af505400 Backend changes needed to honor "excluded fragments". 2014-08-21 13:05:59 -07:00
Kevin Greenan
d251ed8f98 API change for liberasurecode_fragments_needed
Still needed:

1.) RS and XOR backends need to honor the 'exclude' argument.
2.) Need to add tests.
2014-08-20 09:15:36 -07:00
Mark Storer
8af4f83e86 - Cleaned up the documentation in erasurecode.h to ensure that it
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.
2014-08-18 10:44:19 -07:00
Mark Storer
4cfd3f535b Updated liberasurecode_supported_checksum_types to accept a pointer
argument that holds the length of the list returned (i.e. the number of
supported checksum types).
2014-08-15 16:50:14 -07:00
Kevin Greenan
c22312f2d0 Added cleanup API 2014-08-13 21:41:38 -07:00
Tushar Gohad
5e2108722c Split metadata handling into own routine, add crc32 support
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-08-07 14:19:43 -07:00
Kevin Greenan
dbbc02d3db Add HD parameter to generic params. 2014-08-05 14:33:39 -07:00
Eric Lambert
b62a45a854 Merge branch 'newapi' of https://bitbucket.org/tsg-/liberasurecode into newapi 2014-07-31 16:15:34 -07:00
Kevin Greenan
4469d69a1e Distributing the generated config.h (renamed to config_erasurecode.h), since it is used by the publid headers... 2014-07-31 08:32:32 -07:00
Kevin Greenan
1bb14c6a3a Stubbing the metadata functions and updating their interfaces. 2014-07-30 23:06:30 -07:00
Eric Lambert
e39aaa3dd9 Created helper function to iterate over a set of data/parity fragments
and create an array of pointers to the data segments for each fragment
(this array can then be passed to backend decode functions).
2014-07-29 23:14:46 -07:00
Eric Lambert
d6613f4e90 Merge branch 'newapi' of https://bitbucket.org/tsg-/liberasurecode into newapi 2014-07-29 15:53:22 -07:00
Eric Lambert
7fe555b068 Buffers that hold missing indexes need to be '-1 terminated' 2014-07-29 15:51:57 -07:00
Tushar Gohad
6671c45b03 Add liberasurecode_supported_backends API implementation
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-25 22:18:37 -07:00
Tushar Gohad
7cc67fee9c Minor API doc fixup (backend names)
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-22 22:20:07 -07:00
Tushar Gohad
779ff74024 null_code: First cut
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-22 22:07:17 -07:00
Tushar Gohad
9069a7a33a Fix data_size type, int -> uint64_t
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-22 20:45:24 -07:00
Kevin Greenan
454cc7279d Oops... Build failure! Fixing it! 2014-07-22 13:42:24 -07:00
Kevin Greenan
59bec942cb Ripping out galois.[ch] and dynamically pulling the multiplication functon from jerasure 2014-07-22 13:37:39 -07:00
Eric Lambert
99b47cb356 fixed some compile errors in galois.c 2014-07-22 08:28:46 -07:00
Tushar Gohad
8d1cff6ad3 Add missing erasurecode_log.h
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-21 09:53:50 -07:00
Tushar Gohad
94c0253253 gf: Convert exit(1)s to return statements
... shared library should not call exit()

Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-21 09:36:33 -07:00
Tushar Gohad
8a07d41e85 Add encode postprocessing, checksum helpers
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-21 01:19:36 -07:00
Tushar Gohad
4de83981d3 API to get total fragment size
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-21 01:14:56 -07:00
Tushar Gohad
af4279dfb2 Update encode API so liberasurecode allocates all memory
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-21 01:14:56 -07:00
Kevin Greenan
bf219bde4f Added functionality needed to support the get_segment_info() API in PyECLib. 2014-07-21 09:10:33 -07:00
Tushar Gohad
19cd7d3b49 Make int types consistent across API
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-18 09:37:40 -07:00
Tushar Gohad
e04deed832 Allow varargs in log messages, use log_error in more places
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-18 06:14:40 -07:00
Tushar Gohad
33dce84728 Add syslog based logging routines
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-18 04:42:38 -07:00
Tushar Gohad
901c37cee6 Rename header magic macro
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-18 03:02:13 -07:00
Tushar Gohad
5383c54099 flat_xor_hd: Handle backend init errors
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-18 01:15:29 -07:00
Kevin Greenan
3eeb4c82b8 Wiring in the reconstruct preprocessing! 2014-07-19 16:39:25 -07:00
Tushar Gohad
f033e1c742 Move encode() helpers to common preprocessing code
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 19:55:52 -07:00
Kevin Greenan
4cb9e34c76 Fix build breakage... 2014-07-19 11:08:22 -07:00
Kevin Greenan
0422ac5233 Wire-in the decoding preprocessing...
This compiles, but has not been tested!
2014-07-19 11:01:00 -07:00
Kevin Greenan
bb400a2113 Add preprocessing for decode and reconstruct.
I'll fill-in the details of decode and reconstruct in a
separate commit.
2014-07-19 09:47:50 -07:00
Tushar Gohad
d3a8444e93 Add preprocessing code for main encode() routine
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 16:03:15 -07:00
Tushar Gohad
e92d3de70d Add helper prototypes to erasurecode_helpers.h
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 15:35:45 -07:00
Tushar Gohad
dee9ece2f7 Add get_aligned_data_size() to ec helpers
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 15:29:33 -07:00
Tushar Gohad
e30f788f9a Make 'w' part of common user args, set 'w' in backend init
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 15:21:07 -07:00
Tushar Gohad
9c9e73f4ab Add liberasurecode helpers (take 1)
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 13:52:16 -07:00
Tushar Gohad
02d4915eea Add sohandle to backend init()
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 02:26:22 -07:00
Tushar Gohad
d652ed7ed5 Remove fnmap, add backend specific descriptors
... introduce ec_backend_desc to store
backend_desc and sohandle references

Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 01:38:48 -07:00
Tushar Gohad
1a795da4a1 Store args natively in the backend_args (not as a pointer)
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-16 13:34:53 -07:00
Tushar Gohad
05e65c3f96 Fix liberasurecode main routines for new API (take 2)
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-16 12:58:41 -07:00
Tushar Gohad
2de939a9a5 Fix liberasurecode main routines for new API
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-16 11:26:57 -07:00