<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/sqfs, branch v0.3</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=v0.3</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v0.3'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2019-06-30T14:41:21+00:00</updated>
<entry>
<title>Add support for repacking condensed sparse files</title>
<updated>2019-06-30T14:41:21+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-30T14:41:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f439b20706ade4b5630c3d6c57e6a36ce0dc287a'/>
<id>urn:sha1:f439b20706ade4b5630c3d6c57e6a36ce0dc287a</id>
<content type='text'>
This commit broadly does the following things:
 - Rename and move the sparse mapping structure to libutil
 - Add a function to the data writer for writing condensed versions
   of sparse files, given the mapping.
 - This shares code with the already existing function for regular
   files. The shared code is moved to a common helper function.
 - Add support to tar2sqfs for repacking sparse files.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add support for unpacking sparse files as sparse files</title>
<updated>2019-06-28T13:07:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-28T11:01:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d92e4dc101bcb6f807accff8c8ecad4030f41afb'/>
<id>urn:sha1:d92e4dc101bcb6f807accff8c8ecad4030f41afb</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add support for packing sparse files</title>
<updated>2019-06-28T13:07:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-28T10:41:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4e017928c7b5b590d2c7e04e42cb497eb3a4f8cf'/>
<id>urn:sha1:4e017928c7b5b590d2c7e04e42cb497eb3a4f8cf</id>
<content type='text'>
This commit adds support for packing sparse files into squashfs images
as follows:

 - In the data writer: simply detect zero blocks and write a zero to the
   block size field and don't emit any data. Record the number of bytes
   saved this way. For fragments, set the fragment offset to invalid.
 - In the inode writer: write out the number of bytes saved for sparse
   files. If there should be a fragment but there is none, append a block
   count of 0.
 - In the data reader: if the block size is 0, read nothing from disk and
   emit an empty block. Do the same if the fragment is missing.
 - In the inode reader: restore the number of bytes saved for sparse files.

The sparse files can be packed and unpacked, but the unpacking will not
create sparse files for now.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Ommit fragment table if there really are no fragments</title>
<updated>2019-06-28T13:07:29+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-28T13:04:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=0b78208a5b92517769043aff4dfcba0b67fa8f6e'/>
<id>urn:sha1:0b78208a5b92517769043aff4dfcba0b67fa8f6e</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix inode fragment &amp; sparse counter initialization</title>
<updated>2019-06-28T10:24:54+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-28T10:24:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8ac60e9b961f12acfe300258700522b02c06a50c'/>
<id>urn:sha1:8ac60e9b961f12acfe300258700522b02c06a50c</id>
<content type='text'>
The sparse attribute should be initialized with 0. It is subtracted
from the file size in the kernel to determine the file size on disk
to report to stat(2). So it actually didn't matter anyway (just for
correctness sake).

Second, the fragment index and offset should be set to 0xFFFFFFFF in
the rare case that no fragments exist.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: split fstree sort into 2 fstree independend functions</title>
<updated>2019-06-22T18:04:25+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-22T18:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=6cbc85c018187a2b28bf0607f52bc258cc273253'/>
<id>urn:sha1:6cbc85c018187a2b28bf0607f52bc258cc273253</id>
<content type='text'>
Make tree node list sort and recursive variant available and independend
of the fstree_t.

This is considered cleaner, since the fstree_t actually isn't needed for
any of this and we can just call the recusvie sort on the root instead,
and we can use the sort implementation directly for things like the
upcoming unit test.

Also this commit splits up the merge/sort implementation into a seperate
split and merge functions to make the code somewhat more readable.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup fstree code</title>
<updated>2019-06-19T13:17:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-19T11:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=19fbebec161c749e5bfe440e4514e2bc2d2ac3d4'/>
<id>urn:sha1:19fbebec161c749e5bfe440e4514e2bc2d2ac3d4</id>
<content type='text'>
Replace default_$FIELD with a struct stat. Merge the rest of
add_node/add_file into mknode and add by path+stat.

Expose the mknode function and replace all the duplicated node pointer
arithmetic magic with a call to mknode.

Plus a generic cleanup by utlizing new util functions.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Move super block version check to sqfs_super_read</title>
<updated>2019-06-15T13:28:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-15T13:27:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=5d609f7d539d8e277972c0337630b375f55d81c4'/>
<id>urn:sha1:5d609f7d539d8e277972c0337630b375f55d81c4</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Move file extraction code to generic data_reader_t in libsquashfs.a</title>
<updated>2019-06-11T15:45:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-11T15:45:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=578fc9124db4c50ca8c5fac865296139be8c8dfd'/>
<id>urn:sha1:578fc9124db4c50ca8c5fac865296139be8c8dfd</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Move write_xattr to libsqfs.a</title>
<updated>2019-06-11T10:48:51+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-06-11T10:48:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=223dcc487cb0115d3ccb0dd6464d20346253a43e'/>
<id>urn:sha1:223dcc487cb0115d3ccb0dd6464d20346253a43e</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
