From: Zbigniew Jędrzejewski-Szmek Date: Wed, 8 Apr 2026 11:56:13 +0000 (+0200) Subject: tmpfiles: do not require `STATX_ATIME` (#41232) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=df45055942330fcd2b77389e449905e7f6ca34ec;p=thirdparty%2Fsystemd.git tmpfiles: do not require `STATX_ATIME` (#41232) Timestamps are not guaranteed to be set by `statx()`, and their presence should not be asserted as a proxy to judge the kernel version. In particular, `STATX_ATIME` is omitted from the return when querying a file on a `noatime` superblock, causing spurious errors from tmpfiles: ```console # SYSTEMD_LOG_LEVEL=debug systemd-tmpfiles --clean <...> Running clean action for entry X /var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-*/tmp statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-prometheus-smartctl-exporter.service-GKguQK/tmp) failed: Protocol driver not attached statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-systemd-logind.service-k8j52T/tmp) failed: Protocol driver not attached statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-irqbalance.service-7RJkev/tmp) failed: Protocol driver not attached statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-chronyd.service-8hkO5G/tmp) failed: Protocol driver not attached statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-dbus-broker.service-6P6LVl/tmp) failed: Protocol driver not attached statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-nginx.service-B5HX8B/tmp) failed: Protocol driver not attached Running clean action for entry x /var/tmp/systemd-private-94cc8a77688e497f96d5b9019e66ed6f-* Running clean action for entry q /var/tmp statx() does not support 'STATX_ATIME' mask (running on an old kernel?) statx(/var/tmp) failed: Protocol driver not attached <...> ``` Additionally, refactor `dir_cleanup()` slightly for self-consistency to make it evident that the `NSEC_INFINITY` transformation is correct. Fixes #41227. --- df45055942330fcd2b77389e449905e7f6ca34ec