<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/liberasurecode.git/include, branch master</title>
<subtitle>github.com: openstack/liberasurecode.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/'/>
<entry>
<title>Release 1.6.3</title>
<updated>2022-04-08T23:59:40+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2022-04-06T16:10:32+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=f592409bccc9d3043becfaccc5a3254a9452eb72'/>
<id>f592409bccc9d3043becfaccc5a3254a9452eb72</id>
<content type='text'>
Change-Id: I7214aeecc3c568d7b0be5db441d62ca7901ec855
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I7214aeecc3c568d7b0be5db441d62ca7901ec855
</pre>
</div>
</content>
</entry>
<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://trove.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>Release 1.6.2</title>
<updated>2020-10-08T21:46:14+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2020-10-08T20:08:34+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=9dccbc9ff19694612e02c56289c01e454aff113c'/>
<id>9dccbc9ff19694612e02c56289c01e454aff113c</id>
<content type='text'>
Change-Id: I733c4bcf28d845aa0413ef4af06cdab6bc25cc7b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I733c4bcf28d845aa0413ef4af06cdab6bc25cc7b
</pre>
</div>
</content>
</entry>
<entry>
<title>1.6.1 release</title>
<updated>2019-05-23T23:03:58+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2019-05-23T23:03:58+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=917859e239eda63fba425cf23c384b64147cda97'/>
<id>917859e239eda63fba425cf23c384b64147cda97</id>
<content type='text'>
Change-Id: Iaa6cc5bb06e715aafb3ecab86ae7cde6ef30413d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Iaa6cc5bb06e715aafb3ecab86ae7cde6ef30413d
</pre>
</div>
</content>
</entry>
<entry>
<title>Release 1.6.0</title>
<updated>2018-09-21T14:28:15+00:00</updated>
<author>
<name>Thiago da Silva</name>
<email>thiagodasilva@gmail.com</email>
</author>
<published>2018-09-21T14:28:15+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=7df6c251910c9b65fba698df39f3e99b5b9a8638'/>
<id>7df6c251910c9b65fba698df39f3e99b5b9a8638</id>
<content type='text'>
Change-Id: I97b85f1b37952aaede168e274d2f4a74d3b9aaa8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I97b85f1b37952aaede168e274d2f4a74d3b9aaa8
</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://trove.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>Un-inline get/set_metatdata_chksum</title>
<updated>2017-07-06T18:02:02+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2017-04-22T01:32:02+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=e426aee95b616778e4a8e484c3a56c691a2b9c52'/>
<id>e426aee95b616778e4a8e484c3a56c691a2b9c52</id>
<content type='text'>
Each was only really used in one place, they had some strange return types,
and recent versions of clang on OS X would refuse to compile with

erasurecode_helpers.c:531:26: error: taking address of packed member 'metadata_chksum' of
      class or structure 'fragment_header_s' may result in an unaligned pointer value
      [-Werror,-Waddress-of-packed-member]
    return (uint32_t *) &amp;header-&gt;metadata_chksum;
                         ^~~~~~~~~~~~~~~~~~~~~~~

We don't really *care* about the pointer; we just want the value!

Change-Id: I8a5e42312948a75f5dd8b23b6f5ccfa7bd22eb1d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Each was only really used in one place, they had some strange return types,
and recent versions of clang on OS X would refuse to compile with

erasurecode_helpers.c:531:26: error: taking address of packed member 'metadata_chksum' of
      class or structure 'fragment_header_s' may result in an unaligned pointer value
      [-Werror,-Waddress-of-packed-member]
    return (uint32_t *) &amp;header-&gt;metadata_chksum;
                         ^~~~~~~~~~~~~~~~~~~~~~~

We don't really *care* about the pointer; we just want the value!

Change-Id: I8a5e42312948a75f5dd8b23b6f5ccfa7bd22eb1d
</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://trove.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>Merge "Release 1.5.0"</title>
<updated>2017-06-29T17:36:37+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-06-29T17:36:37+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=24038b3588fc02cda18159e87e213c3177d67f38'/>
<id>24038b3588fc02cda18159e87e213c3177d67f38</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop using ceill() to compute padded data size</title>
<updated>2017-06-06T18:53:45+00:00</updated>
<author>
<name>Pete Zaitcev</name>
<email>zaitcev@kotori.zaitcev.us</email>
</author>
<published>2017-05-23T23:45:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/liberasurecode.git/commit/?id=960cdd09dcabe5e125d8ee1c54fcc1f908e8ef11'/>
<id>960cdd09dcabe5e125d8ee1c54fcc1f908e8ef11</id>
<content type='text'>
The well-known idiom to compute a required number of data blocks
of size B to contain data of length d is:

     (d + (B-1))/B

The code we use, with ceill(), computes the same value, but does
it in an unorthodox way. This makes a reviewer to doubt himself
and even run tests to make sure we're really computing the
obvious thing.

Apropos the reviewer confusion, the code in Phazr.IO looks weird.
It uses (word_size - hamming_distance) to compute the necessary
number of blocks... but then returns the amount of memory needed
to store blocks of a different size (word_size). We left all of it
alone and return exactly the same values that the old computation
returned.

All these computations were the only thing in the code that used
-lm, so drop that too.

Coincidentially, this patch solves the crash of distro-built
packages of liberasurecode (see Red Hat bug #1454543). But it's
a side effect. Expect a proper patch soon.

Change-Id: Ib297f6df304abf5ca8c27d3392b1107a525e0be0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The well-known idiom to compute a required number of data blocks
of size B to contain data of length d is:

     (d + (B-1))/B

The code we use, with ceill(), computes the same value, but does
it in an unorthodox way. This makes a reviewer to doubt himself
and even run tests to make sure we're really computing the
obvious thing.

Apropos the reviewer confusion, the code in Phazr.IO looks weird.
It uses (word_size - hamming_distance) to compute the necessary
number of blocks... but then returns the amount of memory needed
to store blocks of a different size (word_size). We left all of it
alone and return exactly the same values that the old computation
returned.

All these computations were the only thing in the code that used
-lm, so drop that too.

Coincidentially, this patch solves the crash of distro-built
packages of liberasurecode (see Red Hat bug #1454543). But it's
a side effect. Expect a proper patch soon.

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