<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/liberasurecode.git/src/utils, branch master</title>
<subtitle>github.com: openstack/liberasurecode.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/'/>
<entry>
<title>Make our alt crc32 more portable</title>
<updated>2019-02-13T21:25:33+00:00</updated>
<author>
<name>Pete Zaitcev</name>
<email>zaitcev@kotori.zaitcev.us</email>
</author>
<published>2019-02-13T04:08:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=7e97b2f808e1115425eef527899b27528f05af3a'/>
<id>7e97b2f808e1115425eef527899b27528f05af3a</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Use zlib for CRC-32</title>
<updated>2017-07-06T17:40:38+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2017-07-06T00:21:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=a9b20ae6a38073afe91ae2b7d789ddfb7dabade8'/>
<id>a9b20ae6a38073afe91ae2b7d789ddfb7dabade8</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop pretending to support SSE4-optimized CRC-32C</title>
<updated>2017-07-06T00:08:45+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2017-07-06T00:08:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=9b4d8bcf8dc97d7edad3dc1443b317ecb5a0a254'/>
<id>9b4d8bcf8dc97d7edad3dc1443b317ecb5a0a254</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixing Issue #19 by stubbing out Jerasures uninit function.</title>
<updated>2015-09-13T00:34:38+00:00</updated>
<author>
<name>Kevin Greenan</name>
<email>kmg@box.com</email>
</author>
<published>2015-09-13T00:34:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=b80d5b947b37c7047375cefcc4f6f3ca93d951d9'/>
<id>b80d5b947b37c7047375cefcc4f6f3ca93d951d9</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>This fixed the memory leak mentioned in Issue #12:</title>
<updated>2015-04-27T18:59:32+00:00</updated>
<author>
<name>Kevin Greenan</name>
<email>kmg@box.com</email>
</author>
<published>2015-04-27T18:34:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=5afed811936994cee54f923e5d69174bd14a5bb7'/>
<id>5afed811936994cee54f923e5d69174bd14a5bb7</id>
<content type='text'>
https://bitbucket.org/tsg-/liberasurecode/issue/12/make-valgrind-test-fails
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bitbucket.org/tsg-/liberasurecode/issue/12/make-valgrind-test-fails
</pre>
</div>
</content>
</entry>
<entry>
<title>Add md5sum implementation</title>
<updated>2015-03-08T08:56:16+00:00</updated>
<author>
<name>Tushar Gohad</name>
<email>tushar.gohad@intel.com</email>
</author>
<published>2015-03-08T08:42:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=688ed3260d0b931fd48703930ce0c36f5ef0b85a'/>
<id>688ed3260d0b931fd48703930ce0c36f5ef0b85a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Compile in pedantic mode and fail compilation on warnings. Also cleanup all existing warnings.</title>
<updated>2014-09-11T00:13:45+00:00</updated>
<author>
<name>Eric Lambert</name>
<email>eric_lambert@xyratex.com</email>
</author>
<published>2014-09-11T00:13:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=512353f8be456f9f8045faafbdb3356a4dbdb8ad'/>
<id>512353f8be456f9f8045faafbdb3356a4dbdb8ad</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>algsig: Move jerasure backend dlopen up a level</title>
<updated>2014-07-23T01:25:30+00:00</updated>
<author>
<name>Tushar Gohad</name>
<email>tushar.gohad@intel.com</email>
</author>
<published>2014-07-23T01:25:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=5b393fab81a3326553827ab7b1cda0ca008468a0'/>
<id>5b393fab81a3326553827ab7b1cda0ca008468a0</id>
<content type='text'>
.. also check for errors

Signed-off-by: Tushar Gohad &lt;tushar.gohad@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.. also check for errors

Signed-off-by: Tushar Gohad &lt;tushar.gohad@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Ripping out galois.[ch] and dynamically pulling the multiplication functon from jerasure</title>
<updated>2014-07-22T20:37:39+00:00</updated>
<author>
<name>Kevin Greenan</name>
<email>kmg@box.com</email>
</author>
<published>2014-07-22T20:32:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=59bec942cb5e9a5c6206c5d2d46e443bf1ec09df'/>
<id>59bec942cb5e9a5c6206c5d2d46e443bf1ec09df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed some compile errors in galois.c</title>
<updated>2014-07-22T15:28:46+00:00</updated>
<author>
<name>Eric Lambert</name>
<email>eric_lambert@xyratex.com</email>
</author>
<published>2014-07-22T15:28:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=99b47cb356d5cc59e1484a0e947a989171d4b2f7'/>
<id>99b47cb356d5cc59e1484a0e947a989171d4b2f7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
