<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/comp, branch v1.3.0</title>
<subtitle>A new set of tools and libraries for working with SquashFS images</subtitle>
<id>https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.3.0</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.3.0'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2019-08-31T14:22:31+00:00</updated>
<entry>
<title>Merge libcompress.a into libsquashfs.a</title>
<updated>2019-08-31T14:22:31+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-31T14:22:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9b3d958fb7c37855a63ed75707281c61dc1d44c4'/>
<id>urn:sha1:9b3d958fb7c37855a63ed75707281c61dc1d44c4</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Some simple search/replace cases for allocation</title>
<updated>2019-08-23T00:09:51+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-22T23:33:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7c028e224978e1d5a4f207cc42b9eb58d81897dd'/>
<id>urn:sha1:7c028e224978e1d5a4f207cc42b9eb58d81897dd</id>
<content type='text'>
This commit exchanges some malloc(x + y * z) patterns that can be found
with a simple git grep and are obvious for the new wrappers.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Minor improvements for parallel block processor</title>
<updated>2019-08-19T09:08:25+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-19T09:08:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4943dd85a9190f4477bd5e98a83be1f5e2790d8d'/>
<id>urn:sha1:4943dd85a9190f4477bd5e98a83be1f5e2790d8d</id>
<content type='text'>
 - Fewer lock aquires in worker function
   - There is no point in locking/unlocking for inserting the completed
     block if we are going to lock again immediately in the next iteration
   -&gt; Merge those two critical sections into one
 - Constant time queue insertion
 - Bypass queue entirely if there is nothing to do for a block

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Replace update_crc32 helper function with crc32 from zlib</title>
<updated>2019-08-18T20:53:32+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-18T14:09:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=50385e06ec207af0171c021f1909e9ef38c00519'/>
<id>urn:sha1:50385e06ec207af0171c021f1909e9ef38c00519</id>
<content type='text'>
It is optimized to the maximum and if we already use zlib anyway,
why not use zlib crc32? This also makes zlib a hard dependency which
also means the whole "do we have a compressor" sanity check in the
build system can be removed.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add pthread based, parallel block processor implementation</title>
<updated>2019-08-18T20:44:39+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-14T12:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=1a95478b8d340c8b6b9dbff4f38f9293388fd1a3'/>
<id>urn:sha1:1a95478b8d340c8b6b9dbff4f38f9293388fd1a3</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add block processor data structure</title>
<updated>2019-08-18T20:44:39+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-13T12:11:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7ca19d23cb4913b5dabfdf3469852ec9f2c0f8d7'/>
<id>urn:sha1:7ca19d23cb4913b5dabfdf3469852ec9f2c0f8d7</id>
<content type='text'>
The interface is designed for parallel, asynchronuous processing of data
blocks with an I/O callback that handles the serialized result.

The underlying implementation is currently still synchronuous.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add deep-copy function to compressor interface</title>
<updated>2019-08-16T14:47:24+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-08-12T16:25:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2f22a35e843a24f0ad5f31644133d64648fe4efc'/>
<id>urn:sha1:2f22a35e843a24f0ad5f31644133d64648fe4efc</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add propper copyright headers to all source files</title>
<updated>2019-07-30T04:53:25+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-30T04:53:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7e00faaca0207eb6ee6cf109c09cc489d8fb7e3f'/>
<id>urn:sha1:7e00faaca0207eb6ee6cf109c09cc489d8fb7e3f</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Replace reads in squashfs with positional reads</title>
<updated>2019-07-25T12:20:48+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-25T12:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f8346498604f417415c131e3c6dbf66e6643254e'/>
<id>urn:sha1:f8346498604f417415c131e3c6dbf66e6643254e</id>
<content type='text'>
In most cases, we know exactely where the data that we want to read is
on disk, so instead of using read() on the squashfs (or lseek + read),
the code can in many places be cleaned up to use the pread wrapper
read_data_at instead.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Include the reason ZSTD gave us for the error</title>
<updated>2019-07-24T07:17:30+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2019-07-23T20:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4b0c21183e1a29f3bb5eb8af4d13467e05f6d36b'/>
<id>urn:sha1:4b0c21183e1a29f3bb5eb8af4d13467e05f6d36b</id>
<content type='text'>
Without it you're left guessing or using a debugger to figure out what's
wrong.

Signed-off-by: Matt Turner &lt;mattst88@gmail.com&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
