<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/common/writer, branch master</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=master</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2023-01-31T12:51:49+00:00</updated>
<entry>
<title>Move library source into src sub-directory</title>
<updated>2023-01-31T12:51:49+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-01-31T10:21:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=cdccc69c62579b0c13b35fad0728079652b8f3c9'/>
<id>urn:sha1:cdccc69c62579b0c13b35fad0728079652b8f3c9</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Implement rudimentary reference counting for sqfs_object_t</title>
<updated>2023-01-19T15:24:56+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-12-04T00:33:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=47f24f2a8faf71395a1d054e9823beb000442cce'/>
<id>urn:sha1:47f24f2a8faf71395a1d054e9823beb000442cce</id>
<content type='text'>
Implement grab/drop functions to increase/decrease reference count
and destroy the object if the count drops to 0.

Make sure that all objects that maintain internal references actually
grab that reference, duplicate it in the copy function, drop it in
the destroy handler.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: add a threshold for extended directory inodes with index</title>
<updated>2023-01-19T15:24:56+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-01-19T14:18:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a90dfb17b0a418a1824a2b228a683b444f7bc902'/>
<id>urn:sha1:a90dfb17b0a418a1824a2b228a683b444f7bc902</id>
<content type='text'>
mksquashfs generates extended inodes if a directory contains 256
entries. libsquashfs so far only generated extended inodes if there
is no other way to encode it. Mimic the behaviour of mksquashfs by
adding a threshold.

For this to work, the "sqfs_inode_set_xattr_index" function has to
be changed to not immediately try to demote inodes to basic types.
The fstree serialization is modified to do that itself if the index
is 0xFFFFFFFF and the target is not a directory inode.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Only use available CPUs</title>
<updated>2022-11-04T12:03:23+00:00</updated>
<author>
<name>Wessel Dankers</name>
<email>wsl@fruit.je</email>
</author>
<published>2022-10-30T19:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b7877c45fc7fe47709c963e15214a3dd5fc71e32'/>
<id>urn:sha1:b7877c45fc7fe47709c963e15214a3dd5fc71e32</id>
<content type='text'>
Not all CPUs may be available for the current process. Some CPUs
may be offline, others may not be included in the process affinity
mask. In such cases too many threads will be created, which will
then compete unnecessarily for CPU time.

Use sched_getaffinity() to determine the correct number of threads
to create.
</content>
</entry>
<entry>
<title>Fix typo in block count statistics</title>
<updated>2022-11-04T11:13:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-04T11:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f3d87d9b78e28e2a6ad2676cce2b064f0bca6bd1'/>
<id>urn:sha1:f3d87d9b78e28e2a6ad2676cce2b064f0bca6bd1</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: replace the void-ptr with an inode-ptr in the file tree node</title>
<updated>2021-03-06T21:08:36+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-03-05T16:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=378db7c6ab1336ce99136118a9b66901630ffc85'/>
<id>urn:sha1:378db7c6ab1336ce99136118a9b66901630ffc85</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libcommon: Use the newer API for the block processor</title>
<updated>2021-01-19T03:05:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-01-15T16:34:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=5191a25b92f903bcc2142be7ea1bfbe5ea1f5096'/>
<id>urn:sha1:5191a25b92f903bcc2142be7ea1bfbe5ea1f5096</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: libcommon: try to split up some of the larger files</title>
<updated>2020-11-07T15:12:47+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-11-07T15:04:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=411f659fe0140bacbd56f8503cda269816d4a887'/>
<id>urn:sha1:411f659fe0140bacbd56f8503cda269816d4a887</id>
<content type='text'>
The sqsf_writer is moved to a separate header, as well as the compressor
related stuff. The statistics function is moved into the writer code, as
this is the only place that actually uses it. The writer code itself is
split up into a hand full of file in their own subdirectory.

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