I always found this a bit annoying.
With the patch:
$ SYSTEMD_LOG_LEVEL=debug build/udevadm test /sys/class/block/dm-1
...
Loaded timestamp for '/etc/systemd/network'.
Loaded timestamp for '/usr/lib/systemd/network'.
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/10-eth0.link
Created link configuration context.
Loaded timestamp for '/etc/udev/rules.d'.
Loaded timestamp for '/usr/lib/udev/rules.d'.
...
}
bool paths_check_timestamp(const char* const* paths, usec_t *timestamp, bool update) {
- bool changed = false;
+ bool changed = false, originally_unset;
const char* const* i;
assert(timestamp);
if (!paths)
return false;
+ originally_unset = *timestamp == 0;
+
STRV_FOREACH(i, paths) {
struct stat stats;
usec_t u;
u = timespec_load(&stats.st_mtim);
- /* first check */
+ /* check first */
if (*timestamp >= u)
continue;
- log_debug("timestamp of '%s' changed", *i);
+ log_debug(originally_unset ? "Loaded timestamp for '%s'." : "Timestamp of '%s' changed.", *i);
/* update timestamp */
if (update) {