<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/fstree, 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-25T21:41:55+00:00</updated>
<entry>
<title>Make sure symlink in fstree_mknode is always set when creating a symlink</title>
<updated>2019-07-25T21:41:55+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-25T21:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=ab063437ce4271d31c150a19390c6d6b18aedf04'/>
<id>urn:sha1:ab063437ce4271d31c150a19390c6d6b18aedf04</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<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>libfstree: fix signed/unsigned comparisons</title>
<updated>2019-07-24T16:10:47+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-24T15:57:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9723d466d51e2b9790e975224f5c6cf348921559'/>
<id>urn:sha1:9723d466d51e2b9790e975224f5c6cf348921559</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>cleanup: remove atime/ctime processing code</title>
<updated>2019-07-24T11:46:05+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-24T10:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=30fbd496a1793b4374873144432f9b7a996a689d'/>
<id>urn:sha1:30fbd496a1793b4374873144432f9b7a996a689d</id>
<content type='text'>
This commit removes all the code for parsing and processing atime/ctime
and values and related test code.

Caring about those is kind of pointless because squashfs can only store
mtime in inodes. The only relevant place is when generating a struct
stat from a squashfs inode or an fstree node.

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>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>
<entry>
<title>fstree: add support for spaces in filenames</title>
<updated>2019-07-17T09:05:42+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-17T08:53:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=1f980897f6947dd17eaa0190b2c1a23fb700636b'/>
<id>urn:sha1:1f980897f6947dd17eaa0190b2c1a23fb700636b</id>
<content type='text'>
This commit adds a mechanism to fstree_from_file to support filenames
with spaces in them by quoting the entire string. Quote marks can still
be used inside file names by escaping them with a backslash. Back slashes
(if that is your thing) can also be escaped.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>fstree: mknode: initialize fragment data, add extra blocksize slot</title>
<updated>2019-07-12T13:44:14+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-12T10:08:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e4dd1ed8c9cea1761092e8206d572f60a9d95a58'/>
<id>urn:sha1:e4dd1ed8c9cea1761092e8206d572f60a9d95a58</id>
<content type='text'>
This commit makes sure that regular file tree nodes have one more slot
than necessary to support files that don't have fragments.

Also, it initializes the fragment data, which should help to deduplicate
some code ahead.

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