<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/usr.bin/stat, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2018-08-11T02:56:43Z</updated>
<entry>
<title>stat(1): cache id-&gt;name resolution</title>
<updated>2018-08-11T02:56:43Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2018-08-11T02:56:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a04ed7615ed26cc2c22286b2f4c624dce23a758f'/>
<id>urn:sha1:a04ed7615ed26cc2c22286b2f4c624dce23a758f</id>
<content type='text'>
When invoked on a large list of files, it is most common for a small number of
uids/gids to own most of the results.

Like ls(1), use pwcache(3) to avoid repeatedly looking up the same IDs.

Example microbenchmark and non-scientific results:

$ time (find /usr/src -type f -print0 | xargs -0 stat &gt;/dev/null)

BEFORE:
3.62s user 5.23s system 102% cpu 8.655 total
3.47s user 5.38s system 102% cpu 8.647 total

AFTER:
1.23s user 1.81s system 108% cpu 2.810 total
1.43s user 1.54s system 107% cpu 2.754 total

Does this microbenchmark have any real-world significance?  Until a use case
is demonstrated otherwise, I doubt it.  Ordinarily I would be resistant to
optimizing pointless microbenchmarks in base utilities (e.g., recent totally
gratuitous changes to yes(1)).  However, the pwcache(3) APIs actually
simplify stat(1) logic ever so slightly compared to the raw APIs they wrap,
so I think this is at worst harmless.

PR:		230491
Reported by:	Thomas Hurst &lt;tom AT hur.st&gt;
Discussed with:	gad@
</content>
</entry>
<entry>
<title>various: general adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T15:37:16Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T15:37:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1de7b4b805ddbf2429da511c053686ac4591ed89'/>
<id>urn:sha1:1de7b4b805ddbf2429da511c053686ac4591ed89</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.
</content>
</entry>
<entry>
<title>DIRDEPS_BUILD: Update dependencies.</title>
<updated>2017-10-31T00:07:04Z</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2017-10-31T00:07:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ea825d02749f382c3f7e17f28247f20a48733eab'/>
<id>urn:sha1:ea825d02749f382c3f7e17f28247f20a48733eab</id>
<content type='text'>
Sponsored by:	Dell EMC Isilon
</content>
</entry>
<entry>
<title>DIRDEPS_BUILD: Connect new directories.</title>
<updated>2017-10-31T00:04:07Z</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2017-10-31T00:04:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3806950135d2c8633ec0764e8807eacc87cf3e10'/>
<id>urn:sha1:3806950135d2c8633ec0764e8807eacc87cf3e10</id>
<content type='text'>
Sponsored by:	Dell EMC Isilon
</content>
</entry>
<entry>
<title>Add HAS_TESTS to all Makefiles that use the SUBDIR.${MK_TESTS}+= tests idiom</title>
<updated>2017-08-02T08:14:06Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-08-02T08:14:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8c09935728787235a761b6104c91ad6885ed4cd8'/>
<id>urn:sha1:8c09935728787235a761b6104c91ad6885ed4cd8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>:l_flag:: be more aggressive when normalizing whitespace</title>
<updated>2017-07-06T07:37:03Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-07-06T07:37:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=faef91fab6b57f374a29180ec9809ae3bc309e08'/>
<id>urn:sha1:faef91fab6b57f374a29180ec9809ae3bc309e08</id>
<content type='text'>
Save output from ls -ldT and stat -l, then normalize all repeating whitespace using
sed to single column spaces.

This makes the test flexible with single-digit days, etc, similar to r320723. This
approach is just a bit more of a hammer approach because of how the columns are
ordered/spaced in both ls and stat.

MFC after:	1 week
MFC with:	r319841
</content>
</entry>
<entry>
<title>Use %e instead of %d with x_output_date(..)</title>
<updated>2017-07-06T06:15:44Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-07-06T06:15:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5e8e7af348a6ba4d1774c8ae247f92e20ce9a6b9'/>
<id>urn:sha1:5e8e7af348a6ba4d1774c8ae247f92e20ce9a6b9</id>
<content type='text'>
stat -x doesn't 0-fill days so %d is inappropriate. %e is correct.

MFC after:	1 week
MFC with:	r319841
</content>
</entry>
<entry>
<title>Add initial tests for stat(1)</title>
<updated>2017-06-12T00:21:55Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-06-12T00:21:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=64a82bcd4e48fdc38f9709c4086af98290d0e53c'/>
<id>urn:sha1:64a82bcd4e48fdc38f9709c4086af98290d0e53c</id>
<content type='text'>
Testcases for -H, -L, and -f haven't been implemented yet, in part due
to additional complexity needed to validate the features:
* -H and -f will require an external "helper" program to display/modify
  the state/permissions for a given path.
* -L is being covered partially via the -n testcase today.

MFC after:	1 month
</content>
</entry>
<entry>
<title>stat(1): sort flags in the DESCRIPTION section</title>
<updated>2017-06-11T21:23:54Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-06-11T21:23:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=39aed6d61a86a7f96437e734f758dace9cf29e04'/>
<id>urn:sha1:39aed6d61a86a7f96437e734f758dace9cf29e04</id>
<content type='text'>
-x's description should come after -t's description.

MFC after:	1 month
Sponsored by:	Dell EMC Isilon
</content>
</entry>
<entry>
<title>Write up some basic tests for readlink(1)</title>
<updated>2017-06-11T21:13:12Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-06-11T21:13:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=21860bf93852e6ac1c02a7edfa665eda9e6d937a'/>
<id>urn:sha1:21860bf93852e6ac1c02a7edfa665eda9e6d937a</id>
<content type='text'>
The tests exercise -f (f_flag), -n (n_flag), and no arguments (basic).

MFC after:	1 month
Sponsored by:	Dell EMC Isilon
</content>
</entry>
</feed>
