From: Yu Watanabe Date: Sun, 5 Oct 2025 19:03:39 +0000 (+0900) Subject: timesync: assume link NTP servers are unchanged on error and no servers registered yet X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F39220%2Fhead;p=thirdparty%2Fsystemd.git 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. --- 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 */