Commit Graph

24 Commits

Author SHA1 Message Date
Takashi Kajinami 0cc4d28940 Remove trailing whitespaces
We probably want some format tools (like clang-format) in the future,
but for now all these spaces are deleted by sed.

Change-Id: Idcc1cbfa39aecf0d5109488defd89b8a60b786da
2024-01-25 15:17:45 +00:00
Tim Burke 53b5c5649b Add build-time option to suffix library names sent to dlopen
This is useful when repacking libraries for python wheels, for example.

Change-Id: Ie7b36584de5054c14a9b77d87a5c5fa5cc7a3719
2021-10-26 15:20:10 -07:00
Jenkins 345f1a93a2 Merge "Jerasure: Handle initialization errors correctly" 2017-05-10 15:19:35 +00:00
Tim Burke 842b4a9bd7 Jerasure: Handle initialization errors correctly
Otherwise we can get backtraces where we try to free something that was
never initialized.

Change-Id: Iaea427b977fd20819e2da5678cc4889d3a42dd65
2017-03-16 17:49:49 +00:00
Jenkins 26e4742140 Merge "Add Phazr.IO libphazr backend to liberasurecode" 2017-03-01 02:21:14 +00:00
Jim Cheung 06e50ea86b Add Phazr.IO libphazr backend to liberasurecode
Currently, there are several implementations of erasure codes that are
available within OpenStack Swift.  Most, if not all, of which are based
on the Reed Solomon coding algorithm.

Phazr.IO’s Erasure Coding technology uses a patented algorithm which are
significantly more efficient and improves the speed of coding, decoding
and reconstruction.  In addition, Phazr.IO Erasure Code use a non-systematic
algorithm which provides data protection at rest and in transport without
the need to use encryption.

Please contact support@phazr.io for more info on our technology.

Change-Id: I4e40d02a8951e38409ad3c604c5dd6f050fa7ea0
2017-02-28 11:14:11 -08:00
Daniel Axtens 4ab1336cab jerasure: plug memory leaks
Jerasure inits some global variables on init.
We need to free them, or we'll leak memory.

Partial-Bug: #1666674

Change-Id: Ie7073738428a71910016e910a66dbd92ca98eb92
Signed-off-by: Daniel Axtens <dja@axtens.net>
2017-02-21 20:50:03 +00:00
James Page e82f437f77 Ensure ec backends can actually be loaded.
Use the actual soname rather than the fully unversioned name,
ensuring that systems that don't have -dev packages actually work.

Signed-off-by: James Page <james.page@ubuntu.com>
2015-11-14 00:17:23 +00:00
Tushar Gohad 398c48c95d Split helpers.h include for backward compatibility
Users of liberasurecode <= 1.0.7 used alloc/free helpers
(which they shouldn't have).  This change is to make sure
we are still able to those older revs of programs and they
work with newer liberasurecode.
2015-09-22 21:47:15 +00: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 a63cae1190 Rename metadata_adder on backend_common
This patch renames the "metadata_adder" variable to "backend_metadata_size"
2015-03-05 14:02:01 +09:00
Eric Lambert 1a34dd4147 Fixed memory leak: freeing jerasure_rs_cauchy_descriptor was not completely freeing the schedule array 2014-10-10 14:25:14 -07:00
Eric Lambert dbacee6f98 backends now support verion checks 2014-10-02 11:25:28 -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
Eric Lambert 295bbbd03e A little bit of code clean up based on feedback/reviews 2014-09-15 08:27:25 -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
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
Mark Storer 126897c816 Cleaned up the Cauchy backend. This has a bit more cleaned than the
other backends because Jerasure allocs more memory under the hood that
we need to check on init, and cleanup on exit.

Minor cleanup wise we do fewer memory derefs by saving the value of
k, m and w in a few places.  This is, however, probably most effective
at just improving readability a bit.
2014-08-25 11:33:07 -07:00
Kevin Greenan c9af505400 Backend changes needed to honor "excluded fragments". 2014-08-21 13:05:59 -07:00
Kevin Greenan 3f6d2e7a71 Minor bug in getting the required fragments for jerasure 2014-08-08 08:30:35 -07:00
Kevin Greenan 109e09fa9c Fixed reconstruction. 2014-08-05 14:33:39 -07:00
Kevin Greenan aab24dcc0b Implemented fragments needed for jerasure backends 2014-07-23 13:24:34 -07:00
Kevin Greenan ac9e113f43 Oops... Yet another build fix. 2014-07-23 12:53:42 -07:00
Kevin Greenan 5c54419755 Plugged-in Cauchy RS. 2014-07-23 12:47:52 -07:00