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
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
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>
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>
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.
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.
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.