<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/include, branch v0.5</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.5</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v0.5'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2019-07-25T20:10:24+00:00</updated>
<entry>
<title>Generate linear file list in fstree</title>
<updated>2019-07-25T20:10:24+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-23T14:12:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=22fba34bcd0f2944def234fa684d1c9cc4d65310'/>
<id>urn:sha1:22fba34bcd0f2944def234fa684d1c9cc4d65310</id>
<content type='text'>
Instead of doing DFS on the fly in gensquashfs, churn out a linked list
of all files in an archive.

Future improvements in packing strategies can go into this file.

This can also be usefull for other purposes in the future, such as file
deduplication or as a work queue for the unpacker.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add generic read_table function similar to write_table</title>
<updated>2019-07-25T18:13:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-25T18:09:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=37bf7752c31d8fda8faad0cf5f89328215305c60'/>
<id>urn:sha1:37bf7752c31d8fda8faad0cf5f89328215305c60</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup sqfs_write_table</title>
<updated>2019-07-25T17:16:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-25T17:16:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f49fe3bbf0d52e2afcc1ace8c1f48dee9349d4f8'/>
<id>urn:sha1:f49fe3bbf0d52e2afcc1ace8c1f48dee9349d4f8</id>
<content type='text'>
This commit attempts to make the generic table writer more readable.
A few changes are made, including heap allocation of the block list.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libutil: add read_data style wrapper around pread()</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:07:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=db9187c8d21e9f08b20899e3e14c1938db7b79fb'/>
<id>urn:sha1:db9187c8d21e9f08b20899e3e14c1938db7b79fb</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix processing of tar mtime on 32 bit systems</title>
<updated>2019-07-24T16:10:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-24T11:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4fdfd1f62a9d50298b0bb71e8bea04174af4a3ab'/>
<id>urn:sha1:4fdfd1f62a9d50298b0bb71e8bea04174af4a3ab</id>
<content type='text'>
struct stat uses time_t to store time values. On some 32 bit systems,
this may be a 32 bit integer.

This patch adds a broken-out 64 bit time value to tar_header_decoded_t
and makes sure to clamp the value to +/- (2^32 - 1) if required when
writing it back to a struct stat.

Reported-by: Matt Turner &lt;mattst88@gmail.com&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Enable largefile support</title>
<updated>2019-07-24T07:16:16+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2019-07-23T20:48:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=05a30292f9d2be63af3b4c27d5ae89801da602a2'/>
<id>urn:sha1:05a30292f9d2be63af3b4c27d5ae89801da602a2</id>
<content type='text'>
Requires that config.h be included before other headers, since the macro
_FILE_OFFSET_BITS changes the definitions of things like 'struct stat'.
I chose to simply include it at the top of every C file and at
immediately after the double-inclusion guards of every header.

Signed-off-by: Matt Turner &lt;mattst88@gmail.com&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a way to optionally keep the original time stamps</title>
<updated>2019-07-22T15:12:45+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-22T01:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=adc8e37d7f86d661ab54adf9c43e4b0aa67a939c'/>
<id>urn:sha1:adc8e37d7f86d661ab54adf9c43e4b0aa67a939c</id>
<content type='text'>
First of all, this commit adds a mod_time field to a tree node. When
creating the tree node, the field is set from the struct stat. When
scanning a directory, the time stamps from the input are used if set.

Second, the libsqfs code that reads inodes is modified to store the
mod_time from the inode in the fstree node and to write the tree node
into a generated inode.

Finally, tar2sqfs is modified to optionally keep the timestamps from
the tar archive instead of setting defaults. gensquashfs is similarly
modified to keep the input timestamps if specified.

The result is as follows:
 - sqfs2tar will always carry the timestamps from the squashfs over
   to the tar ball.
 - tar2sqfs will set defaults, unless explicitly asked to preserve
   the mtime from the tar ball.
 - gensquashfs can optionally preserve the mtime from the input
   hierarchy it processes if only --pack-dir is specified.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Implement generating an inode table for NFS export</title>
<updated>2019-07-21T18:22:04+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-21T18:22:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2a05bf5bc660bfebb35e42f1f8a0c0ac56e0f9d9'/>
<id>urn:sha1:2a05bf5bc660bfebb35e42f1f8a0c0ac56e0f9d9</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup xattr handling</title>
<updated>2019-07-21T13:44:02+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-21T13:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=73db760b3fd2d3f2ff9186deb86589fdc36f2542'/>
<id>urn:sha1:73db760b3fd2d3f2ff9186deb86589fdc36f2542</id>
<content type='text'>
 - Store them in a struct instead of a hacky uint64_t with magic shifts
 - Split up key/value pair write function to write_key and write_value
 - Move the size accounting into those functions respectively

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Keep track of xattr key &amp; value references AFTER deduplication</title>
<updated>2019-07-21T11:30:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-21T11:30:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=321290241e84a3a2cfc30b65fc6e79ecd266e420'/>
<id>urn:sha1:321290241e84a3a2cfc30b65fc6e79ecd266e420</id>
<content type='text'>
This commit adds a reference count functionality to the string table
implementation and uses this functionality in the fstree code to
count how often each key and value is referenced by the deduplicated
Xattr blocks. This is needed to support deduplication through
out-of-band storage of xattrs.

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