From 3cc725ca6b27fc4acff68b2f3a024c02c59f3f60 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 6 Oct 2025 04:03:39 +0900 Subject: [PATCH] timesync: assume link NTP servers are unchanged on error and no servers registered yet This also silences annoying debug message when networkd is not running, in which case sd_network_get_ntp() returns -ENOENT. --- src/timesync/timesyncd-manager.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c index 004adf0b4ff..6bfe4e075fa 100644 --- a/src/timesync/timesyncd-manager.c +++ b/src/timesync/timesyncd-manager.c @@ -966,19 +966,19 @@ Manager* manager_free(Manager *m) { return mfree(m); } -static int manager_network_read_link_servers(Manager *m) { +static bool manager_network_read_link_servers(Manager *m) { _cleanup_strv_free_ char **ntp = NULL; bool changed = false; int r; assert(m); + bool existing = m->link_servers; + r = sd_network_get_ntp(&ntp); - if (r < 0 && r != -ENODATA) { - if (r == -ENOMEM) - log_oom(); - else - log_debug_errno(r, "Failed to get link NTP servers: %m"); + if (r < 0) { + if (!IN_SET(r, -ENOENT, -ENODATA)) + log_error_errno(r, "Failed to get link NTP servers: %m"); goto clear; } @@ -1025,7 +1025,7 @@ static int manager_network_read_link_servers(Manager *m) { clear: manager_flush_server_names(m, SERVER_LINK); - return r; + return existing; /* return true if there were existing servers. */ } static bool manager_is_connected(Manager *m) { @@ -1043,7 +1043,6 @@ static int manager_network_event_handler(sd_event_source *s, int fd, uint32_t re sd_network_monitor_flush(m->network_monitor); - /* When manager_network_read_link_servers() failed, we assume that the servers are changed. */ changed = manager_network_read_link_servers(m); /* check if the machine is online */ -- 2.47.3