diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-21 20:10:01 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-21 20:10:01 -0500 |
| commit | 11af802af31b69e8e478baae3ea6e5b5090bafaf (patch) | |
| tree | bb300af54a0f062d70b6b6bf821ecd69169b9c3e /scripts | |
| parent | 88b677cbcbbe126d50d5b334206a55559e5a4d29 (diff) | |
| download | archangel-11af802af31b69e8e478baae3ea6e5b5090bafaf.tar.gz archangel-11af802af31b69e8e478baae3ea6e5b5090bafaf.zip | |
feat: PrivateTmp=yes drop-in for systemd-tmpfiles on ZFS-root
On ZFS-on-root, statx() across sibling services'
/var/tmp/systemd-private-*/tmp mounts returns errno 132 (ENOTNAM).
This produces 10-30 journal errors per boot and causes
systemd-tmpfiles-clean.service to fail every periodic run
(exit 73 / CANTCREAT). Running tmpfiles inside its own mount
namespace avoids traversing sibling private-tmp paths.
install_zfs() now calls configure_tmpfiles_private_tmp() between
configure_zfs_tools and sync_efi_partitions, so the genesis snapshot
captures the drop-ins. Btrfs path is untouched — errno 132 is
ZFS-specific.
The drop-in file-writing is factored into install_dropin() in
lib/common.sh (service, name, root; body from stdin). Six bats tests
exercise path, content, directory permissions, idempotent overwrite,
empty content, and special-character preservation.
Full root-cause write-up and verification steps in
docs/zfs-tmpfiles-private-tmp-fix.md.
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
