]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
wait-online: ignore -ENODATA from sd_network_link_get_required_for_online()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 27 Oct 2022 00:54:06 +0000 (09:54 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 27 Oct 2022 09:08:38 +0000 (11:08 +0200)
Follow-up for 778e3da95ef16302956087e6f10ccf7d42499aec.

These settings are saved only when a .network file is assigned to the
interface. Let's silence noisy logs for unmanaged interfaces.

src/network/wait-online/link.c

index 836d713f79c9548217239d18ef93ded93114184b..e197e62e26e6af65c023946b255cd33c195aa9b5 100644 (file)
@@ -105,16 +105,16 @@ int link_update_monitor(Link *l) {
         assert(l->ifname);
 
         r = sd_network_link_get_required_for_online(l->ifindex);
-        if (r < 0)
+        if (r < 0 && r != -ENODATA)
                 ret = log_link_debug_errno(l, r, "Failed to determine whether the link is required for online or not, "
                                            "assuming required: %m");
         l->required_for_online = r != 0;
 
         r = sd_network_link_get_required_operstate_for_online(l->ifindex, &required_operstate);
-        if (r < 0) {
+        if (r < 0 && r != -ENODATA)
                 ret = log_link_debug_errno(l, r, "Failed to get required operational state, ignoring: %m");
-                l->required_operstate = LINK_OPERSTATE_RANGE_DEFAULT;
-        } else if (isempty(required_operstate))
+
+        if (isempty(required_operstate))
                 l->required_operstate = LINK_OPERSTATE_RANGE_DEFAULT;
         else {
                 r = parse_operational_state_range(required_operstate, &l->required_operstate);
@@ -128,9 +128,10 @@ int link_update_monitor(Link *l) {
                 ret = log_link_debug_errno(l, r, "Failed to get operational state, ignoring: %m");
 
         r = sd_network_link_get_required_family_for_online(l->ifindex, &required_family);
-        if (r < 0)
+        if (r < 0 && r != -ENODATA)
                 ret = log_link_debug_errno(l, r, "Failed to get required address family, ignoring: %m");
-        else if (isempty(required_family))
+
+        if (isempty(required_family))
                 l->required_family = ADDRESS_FAMILY_NO;
         else {
                 AddressFamily f;