<feed xmlns='http://www.w3.org/2005/Atom'>
<title>metastore, branch perf-2</title>
<subtitle>File metadata backup/comparison/restoration tool</subtitle>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/'/>
<entry>
<title>Check for directories with the mode stored in the mentry</title>
<updated>2022-07-08T07:36:47+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-07-07T17:52:15+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=15f76771009d78fbe6f8f9715080436ad9d92a68'/>
<id>15f76771009d78fbe6f8f9715080436ad9d92a68</id>
<content type='text'>
Saves one call to lstat(2) per file.

On my system, this improves `time bin/metastore -d /usr &gt;/dev/null` from:

    real    0m2.183s
    user    0m0.733s
    sys     0m1.435s

to:

    real    0m1.846s
    user    0m0.663s
    sys     0m1.134s

Average of 5 runs, on a warm cache, reducing runtime by roughly 15%.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Saves one call to lstat(2) per file.

On my system, this improves `time bin/metastore -d /usr &gt;/dev/null` from:

    real    0m2.183s
    user    0m0.733s
    sys     0m1.435s

to:

    real    0m1.846s
    user    0m0.663s
    sys     0m1.134s

Average of 5 runs, on a warm cache, reducing runtime by roughly 15%.
</pre>
</div>
</content>
</entry>
<entry>
<title>Return early if there are no xattrs</title>
<updated>2022-07-08T07:36:43+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-07-07T12:57:37+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=2670293c68fe700a5320e3d37815091e3590d39a'/>
<id>2670293c68fe700a5320e3d37815091e3590d39a</id>
<content type='text'>
Saves one malloc(3) and one listxattr(2) per file that has no xattrs.

On my system, this improves `time metastore -d /usr &gt;/dev/null` from:

    real    0m2.347s
    user    0m0.732s
    sys     0m1.603s

to:

    real    0m2.183s
    user    0m0.733s
    sys     0m1.435s

Average of 5 runs, on a warm cache, reducing runtime by roughly 7%.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Saves one malloc(3) and one listxattr(2) per file that has no xattrs.

On my system, this improves `time metastore -d /usr &gt;/dev/null` from:

    real    0m2.347s
    user    0m0.732s
    sys     0m1.603s

to:

    real    0m2.183s
    user    0m0.733s
    sys     0m1.435s

Average of 5 runs, on a warm cache, reducing runtime by roughly 7%.
</pre>
</div>
</content>
</entry>
<entry>
<title>NEWS: Mention mtime-related bugfixes.</title>
<updated>2022-05-21T14:06:26+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2022-05-21T14:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=b46002f1c47d7716fc582269e3d943b87bbdcf9c'/>
<id>b46002f1c47d7716fc582269e3d943b87bbdcf9c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>metastore.c: Do not skip nanoseconds when applying mtime.</title>
<updated>2022-05-21T14:01:23+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2022-05-21T14:01:23+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=a20cb5571cf8271a52344c0320e65bc2369ecddd'/>
<id>a20cb5571cf8271a52344c0320e65bc2369ecddd</id>
<content type='text'>
Apply mtime using utimensat() instead of utime(), which not only
supports setting nanoseconds, but also omitting atime change (last
access time), and working on symlinks - we use all of that.

Reported-by: Björn Haßler &lt;bjohas@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply mtime using utimensat() instead of utime(), which not only
supports setting nanoseconds, but also omitting atime change (last
access time), and working on symlinks - we use all of that.

Reported-by: Björn Haßler &lt;bjohas@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NEWS: Mention "changing owner" bugfix.</title>
<updated>2022-05-21T13:41:01+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2022-05-21T13:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=72c21c112b209b2d092de2fd1750b6741bb187e3'/>
<id>72c21c112b209b2d092de2fd1750b6741bb187e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix "changing owner" message to show owner instead of group.</title>
<updated>2021-04-07T23:40:44+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2021-04-07T23:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=fe09dabc0d7684075bd06b50132250ce7dfa1bb0'/>
<id>fe09dabc0d7684075bd06b50132250ce7dfa1bb0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>NEWS: Mention normalize_path() bugfix.</title>
<updated>2021-04-07T16:29:58+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2021-04-07T16:29:58+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=2e275f9b117fdf3b36cfc6955f055f0620f47ee4'/>
<id>2e275f9b117fdf3b36cfc6955f055f0620f47ee4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>AUTHORS: Add Jürgen Bubeck.</title>
<updated>2021-04-07T16:28:16+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2021-04-07T16:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=4c03ec2b628d64ab6b3c5b98d34c93302d93b06e'/>
<id>4c03ec2b628d64ab6b3c5b98d34c93302d93b06e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix path normalization for the case of CWD being the root directory (/).</title>
<updated>2021-04-07T16:24:27+00:00</updated>
<author>
<name>Jürgen Bubeck</name>
<email>bubeck@xkrug.com</email>
</author>
<published>2016-11-09T16:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=45f104b60356b096deaed0fd184f1c8b04a40d75'/>
<id>45f104b60356b096deaed0fd184f1c8b04a40d75</id>
<content type='text'>
Previously metastore would fail if running from / and paths were given:

    $ pwd
    /
    $ metastore -d bin
    lstat failed for .bin: No such file or directory

Now it works properly:

    $ metastore -d bin | head -1
    lrwxrwxrwx      root    root    2018-08-17 16:31:23.120322532 +0200     ./bin/hostname

Signed-off-by: Przemyslaw Pawelczyk &lt;przemoc@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously metastore would fail if running from / and paths were given:

    $ pwd
    /
    $ metastore -d bin
    lstat failed for .bin: No such file or directory

Now it works properly:

    $ metastore -d bin | head -1
    lrwxrwxrwx      root    root    2018-08-17 16:31:23.120322532 +0200     ./bin/hostname

Signed-off-by: Przemyslaw Pawelczyk &lt;przemoc@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix conversion specifiers in "Failed to {malloc,strdup}" messages.</title>
<updated>2018-09-08T14:47:22+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2018-09-08T14:47:22+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=f8d5fc70290d19441ea513a10dbfe8cc074571f7'/>
<id>f8d5fc70290d19441ea513a10dbfe8cc074571f7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
