Commit Graph

72 Commits

Author SHA1 Message Date
Mark Storer
59636338e8 Updated error codes to reflect discussion:
1) Base error created for each error section
2) Expanded the system error conditions
3) Corrected metadata error number
2014-10-06 15:12:28 -07:00
Mark Storer
483764209c Initial commit of an exanded error status struct. This commit is
largely brainstorming.  The error messages, the order, the value,
everything is there to start the discussion.
2014-10-02 11:32:37 -04:00
Tushar Gohad
b6b3ffb60b Add the ability for backends to specify
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-09-30 06:35:03 -07:00
Kevin Greenan
543d7e9923 Plugging-in the ISA-L backend... Still needs more documentation and a little clean-up, but the tests are passing... 2014-09-29 14:01:56 -07:00
Eric Lambert
be8dcbcc27 Char * backend names are no longer supported. They have been replaced with elements of the ec_backend_id_t enum. 2014-09-29 13:24:50 -07:00
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