Skip to content

Preserve hardlinks in artifacts

BuildStream does not currently distinguish between files that an element intentionally creates as hardlinks and files that happen to have identical content. As part of the OSTree commit process we only record the content hash and attributes. When an artifact is staged, matching files are always hardlinked. This includes empty files.

In some situations this can cause issues. E.g., if an unintentionally hardlinked file is modified in place. The SaferHardlinks FUSE layer protects against this during integration. However, the information is also lost when creating images for deployment.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information