<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/liberasurecode.git/src, 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>Add build-time option to suffix library names sent to dlopen</title>
<updated>2021-10-26T22:20:10+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2021-10-26T22:09:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=53b5c5649b4046c7e6defb85bfceafcea74f0f0e'/>
<id>53b5c5649b4046c7e6defb85bfceafcea74f0f0e</id>
<content type='text'>
This is useful when repacking libraries for python wheels, for example.

Change-Id: Ie7b36584de5054c14a9b77d87a5c5fa5cc7a3719
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is useful when repacking libraries for python wheels, for example.

Change-Id: Ie7b36584de5054c14a9b77d87a5c5fa5cc7a3719
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix underflow in flat_xor_hd code</title>
<updated>2021-06-29T05:55:19+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2021-06-02T06:08:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=a7e1ddf685af09c9ad99dc2641067a846d8c88e8'/>
<id>a7e1ddf685af09c9ad99dc2641067a846d8c88e8</id>
<content type='text'>
Change-Id: I9102f9883e979862557bd33958b2d116795b3169
Closes-Bug: #1726816
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I9102f9883e979862557bd33958b2d116795b3169
Closes-Bug: #1726816
</pre>
</div>
</content>
</entry>
<entry>
<title>Be willing to write fragments with legacy crc</title>
<updated>2020-09-30T23:38:11+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2020-07-02T04:59:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=5626cd5791bd35279594e067c10581e89ae66abc'/>
<id>5626cd5791bd35279594e067c10581e89ae66abc</id>
<content type='text'>
...if users *really* want to. They opt-in at run time by setting

    LIBERASURECODE_WRITE_LEGACY_CRC=1

in the environment; leaving it unset, set to an empty string, or set to
the string "0" continues to write zlib crcs.

UpgradeImpact
=============
This option is intended to allow a smooth upgrade from liberasurecode
1.5.0 and earlier in a system with multiple readers and writers:

  * Before upgrade, ensure the environment variable is set on all nodes.
    This will be ignored by earlier versions.
  * Upgrade liberasurecode on each node in the system, restarting any
    services that use it. Every node continues writing CRCs that are
    still usable by nodes that have not yet upgraded.
  * Now that every node is capable of reading zlib CRCs, remove the
    environment variable from each node to start writing new CRCs.

If you are already using 1.6.0 or later, just upgrade normally.

Closes-Bug: #1886088
Closes-Bug: #1867937
Related-Bug: #1666320
Needed-By: https://review.opendev.org/#/c/739164/
Change-Id: I9adfbe631a2dddc592fd08f8a325f3e8331b92f1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
...if users *really* want to. They opt-in at run time by setting

    LIBERASURECODE_WRITE_LEGACY_CRC=1

in the environment; leaving it unset, set to an empty string, or set to
the string "0" continues to write zlib crcs.

UpgradeImpact
=============
This option is intended to allow a smooth upgrade from liberasurecode
1.5.0 and earlier in a system with multiple readers and writers:

  * Before upgrade, ensure the environment variable is set on all nodes.
    This will be ignored by earlier versions.
  * Upgrade liberasurecode on each node in the system, restarting any
    services that use it. Every node continues writing CRCs that are
    still usable by nodes that have not yet upgraded.
  * Now that every node is capable of reading zlib CRCs, remove the
    environment variable from each node to start writing new CRCs.

If you are already using 1.6.0 or later, just upgrade normally.

Closes-Bug: #1886088
Closes-Bug: #1867937
Related-Bug: #1666320
Needed-By: https://review.opendev.org/#/c/739164/
Change-Id: I9adfbe631a2dddc592fd08f8a325f3e8331b92f1
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Remove get_chksum to hush warnings"</title>
<updated>2019-02-14T02:12:57+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.openstack.org</email>
</author>
<published>2019-02-14T02:12:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=8d7877fb19c0f23a4dd2140ec3ca6836298d2661'/>
<id>8d7877fb19c0f23a4dd2140ec3ca6836298d2661</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<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>Remove get_chksum to hush warnings</title>
<updated>2019-02-13T06:46:52+00:00</updated>
<author>
<name>Pete Zaitcev</name>
<email>zaitcev@kotori.zaitcev.us</email>
</author>
<published>2019-02-13T00:13:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=3564b711b4e543dc361444159ff9f7fb331eaad6'/>
<id>3564b711b4e543dc361444159ff9f7fb331eaad6</id>
<content type='text'>
This popped up because Fedora mandates warning-free builds,
and get_chksum triggers a warning because it returns an
unaligned pointer (it is so analigned, static analysis in
the compiler can detect it).

The easiest fix is to remove it altogether. We think it should
be safe, because:

 - The function is not listed in any headers
 - Its counterpart is called "set_checksum", not "set_chksum"
 - PyECLib does not use it

We also hush some doxygen warnings about wrong comments.

Change-Id: Ie5bc736f912706e0ffd507765abd24e7f4761233
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This popped up because Fedora mandates warning-free builds,
and get_chksum triggers a warning because it returns an
unaligned pointer (it is so analigned, static analysis in
the compiler can detect it).

The easiest fix is to remove it altogether. We think it should
be safe, because:

 - The function is not listed in any headers
 - Its counterpart is called "set_checksum", not "set_chksum"
 - PyECLib does not use it

We also hush some doxygen warnings about wrong comments.

Change-Id: Ie5bc736f912706e0ffd507765abd24e7f4761233
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow reading of little-endian frags on big-endian</title>
<updated>2018-09-12T03:58:34+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2018-09-11T19:36:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=7b547e0e46fc0a4172b602ec2a362eb1fa3a6431'/>
<id>7b547e0e46fc0a4172b602ec2a362eb1fa3a6431</id>
<content type='text'>
... and vice-versa. We'll fix up frag header values for our output
parameter from liberasurecode_get_fragment_metadata but otherwise
avoid manipulating the in-memory fragment much.

Change-Id: Idd6833bdea60e27c9a0148ee28b4a2c1070be148
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... and vice-versa. We'll fix up frag header values for our output
parameter from liberasurecode_get_fragment_metadata but otherwise
avoid manipulating the in-memory fragment much.

Change-Id: Idd6833bdea60e27c9a0148ee28b4a2c1070be148
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "flat_xor_hd: better validate args"</title>
<updated>2017-09-13T21:33:43+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-09-13T21:33:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=d81c49161b093715e690f9aa82020f729a44be7a'/>
<id>d81c49161b093715e690f9aa82020f729a44be7a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Negative data or parity args are invalid"</title>
<updated>2017-09-13T21:24:27+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-09-13T21:24:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=3ff4b22bc149f3c5e89c21cb3038b0fc9dc4378d'/>
<id>3ff4b22bc149f3c5e89c21cb3038b0fc9dc4378d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Negative data or parity args are invalid</title>
<updated>2017-09-13T20:52:30+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2017-06-08T19:46:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/liberasurecode.git/commit/?id=082e4799d81149a9f0ca4e9d8afc65e64118fec0'/>
<id>082e4799d81149a9f0ca4e9d8afc65e64118fec0</id>
<content type='text'>
While we're at it, tighten up some test_create_backend_invalid_args
assertions.

Change-Id: Id6c70cdb2d86580280ededc3ec6ec648c6cb7d57
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While we're at it, tighten up some test_create_backend_invalid_args
assertions.

Change-Id: Id6c70cdb2d86580280ededc3ec6ec648c6cb7d57
</pre>
</div>
</content>
</entry>
</feed>
