<feed xmlns='http://www.w3.org/2005/Atom'>
<title>metastore/src, 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>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>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>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>
<entry>
<title>Add missing argument to "Failed to get metadata for %s\n" message.</title>
<updated>2018-09-08T14:43:37+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2018-09-08T14:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=b6bf6a1fb863acd4275bbc5670f4918b80edea4e'/>
<id>b6bf6a1fb863acd4275bbc5670f4918b80edea4e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support building with empty -DNO_XATTR= (equivalent to -DNO_XATTR=0).</title>
<updated>2018-02-19T00:41:15+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2018-02-19T00:41:15+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=ee36104279f55c26a0ec71abbe8cccbbd0bc3966'/>
<id>ee36104279f55c26a0ec71abbe8cccbbd0bc3966</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support building with no extended attributes support.</title>
<updated>2018-02-18T23:34:14+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2018-02-18T23:34:14+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=39c5a5e929efc7c3b89a4e316dfd02b1734848d6'/>
<id>39c5a5e929efc7c3b89a4e316dfd02b1734848d6</id>
<content type='text'>
Support building with no extended attributes support when NO_XATTR
macro is predefined to non-0 value (e.g. put -DNO_XATTR in CFLAGS).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support building with no extended attributes support when NO_XATTR
macro is predefined to non-0 value (e.g. put -DNO_XATTR in CFLAGS).
</pre>
</div>
</content>
</entry>
<entry>
<title>utils.h: Introduce new verbosity level: MSG_WARNING.</title>
<updated>2018-02-18T21:51:17+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2018-02-18T21:51:17+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=04df7fcc6d0f75bdf14fd87bcac9d609188e8675'/>
<id>04df7fcc6d0f75bdf14fd87bcac9d609188e8675</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
