checkout: Don't hardlink zero sized files

Alternative to https://github.com/ostreedev/ostree/pull/2197

Python's (usually) zero-sized `__init__.py` files can provoke
us hitting the hardlink limits on some filesystems (`EMLINK`).
At least one Fedora rpm-ostree user hit this.

The benefits of hardlinking here are quite marginal; lots
of hardlinks can behave suboptimally in particular filesystems
like BTRFS too.

This builds on prior code which made this an option, introduced
in https://github.com/ostreedev/ostree/commit/673cacd633f9d6b653cdea530657d3e780a41bbd
Now we just do it uncondtionally.

Also this provoked a different bug in a very obscure user mode checkout
case; when the "real" permissions were different from the "physical"
permissions, we would still hardlink.  Fix the test case for this.
This commit is contained in:
Colin Walters committed 2020-10-01 16:47:07 -04:00
1 parent 6950a98099
commit 558720e7aa
5 files changed
+23 -17

No files matched your search

+1 -1
View File
@@ -163,7 +163,7 @@ Boston, MA 02111-1307, USA.
<option>-z</option></term>
<listitem><para>
Do not hardlink zero-sized files.
This option does nothing; the functionality is now always on by default.
</para></listitem>
</varlistentry>