summaryrefslogtreecommitdiff
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
* Make our alt crc32 more portablePete Zaitcev2019-02-131-1/+2
| | | | | | | | | | | | | | | | | | | Apparently the author of our old crc32 assumed that shifting an int to the right sign-extends, which is not always the case. Result is, building and running make test on s390x fails. The fix is to force a sign-extension using the "xor 0x80; sub 0x80" trick. N.B. This does not cause a compatibility problem, because by a miracle the "broken" crc32_alt was actually computing a stock crc32, same that zlib has. Therefore, if someone, somewhere, ran a Swift cluster on s390x with erasure coding policy, the data in it is already stored with zlib checksums, as we do it now anyway. This fix only permits the tests pass, which used the bad data sample from x86. Change-Id: Ibd5e4e6c02be00540a9648cc7e0f8efda275bf3f Related-Change: Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5 Related-Bug: 1666320
* Use zlib for CRC-32Tim Burke2017-07-061-1/+1
| | | | | | | | | | | | | | | | Previously, we had our own CRC that was almost but not quite like zlib's implementation. However, * it hasn't been subjected to the same rigor with regard to error-detection properties and * it may not even get used, depending upon whether zlib happens to get loaded before or after liberasurecode. Now, we'll use zlib's CRC-32 when writing new frags, while still tolerating frags that were created with the old implementation. Change-Id: Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5 Closes-Bug: 1666320
* Stop pretending to support SSE4-optimized CRC-32CTim Burke2017-07-061-29/+0
| | | | | | | | | It isn't the CRC we want, and we never used it anyway. While we may define INTEL_SSE41 or INTEL_SSE42 if CPU seems to support it, we've never defined INTEL_SSE4. Change-Id: I04e1dd6458ccde58a0a2f3f4d6947569a31e9697 Partial-Bug: 1666320
* Fixing Issue #19 by stubbing out Jerasures uninit function.Kevin Greenan2015-09-121-0/+15
| | | | | | | | | | If the underlying jerasure implementation is old (pre-jerasure.org), then it will not contain an uninit function for the underlying GF object. Since this is only used in alg_sig, which is not used by anything else at the moment, we stub it out if it does not exist. Once we make the change to have alg_sig use the internal GF functions, this whole problem goes away.
* This fixed the memory leak mentioned in Issue #12:Kevin Greenan2015-04-271-1/+20
| | | | https://bitbucket.org/tsg-/liberasurecode/issue/12/make-valgrind-test-fails
* Add md5sum implementationTushar Gohad2015-03-081-0/+295
|
* Compile in pedantic mode and fail compilation on warnings. Also cleanup all ↵Eric Lambert2014-09-101-5/+16
| | | | existing warnings.
* algsig: Move jerasure backend dlopen up a levelTushar Gohad2014-07-221-15/+16
| | | | | | .. also check for errors Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Ripping out galois.[ch] and dynamically pulling the multiplication functon ↵Kevin Greenan2014-07-222-1145/+57
| | | | from jerasure
* fixed some compile errors in galois.cEric Lambert2014-07-221-6/+5
|
* gf: Convert exit(1)s to return statementsTushar Gohad2014-07-211-70/+69
| | | | | | ... shared library should not call exit() Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* alg_sig.h was moved to topdir/includeTushar Gohad2014-07-171-1/+1
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Adding Jerasure backendKevin Greenan2014-07-171-1/+1
|
* Remove required gf-complete dependency from liberasurecode.Kevin Greenan2014-07-161-0/+782
| | | | | | | | NOTE: We need to ensure that any erasure code backend using algebraic signatures *must use* the same exact GF as those used in this library. This usually means same 'w' and primitive polynomial. I plan to make the same change to Jerasure, so it will be compatible.
* Move alg_sig.h to common headersTushar Gohad2014-07-071-50/+0
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Add placeholder xor backend routinesTushar Gohad2014-06-301-4/+0
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* chksum: Add gf_complete dep for algsigTushar Gohad2014-06-303-101/+355
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* chksum: Add missing alg_sig, galois headersTushar Gohad2014-06-303-3/+154
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Add xor scheme to builtins, algsig/crc32 code to utilsTushar Gohad2014-06-292-0/+476
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>