chiark / gitweb /
networkd-wait-online: fix false positives when checking if a link is managed by networkd
authorTom Gundersen <teg@jklm.no>
Thu, 8 May 2014 11:11:23 +0000 (13:11 +0200)
committerTom Gundersen <teg@jklm.no>
Thu, 8 May 2014 13:27:55 +0000 (15:27 +0200)
src/network/networkd-wait-online.c

index a4729f464f12efb322d1a2313ff561a10ecbc6a0..a42fef26b99c926ca4f980a317ffda27583d2c53 100644 (file)
@@ -178,10 +178,9 @@ static bool all_configured(Manager *m) {
                         continue;
 
                 r = sd_network_get_link_state(indices[i], &state);
                         continue;
 
                 r = sd_network_get_link_state(indices[i], &state);
-                if (r != -EUNATCH && (r < 0 || !streq(state, "configured"))) {
-                        /* managed by networkd, but not yet configured */
+                if (r == -EBUSY || (r >= 0 && !streq(state, "configured")))
+                        /* not yet processed by udev, or managed by networkd, but not yet configured */
                         return false;
                         return false;
-                }
 
                 r = sd_network_get_link_operational_state(indices[i], &oper_state);
                 if (r >= 0 && streq(oper_state, "carrier"))
 
                 r = sd_network_get_link_operational_state(indices[i], &oper_state);
                 if (r >= 0 && streq(oper_state, "carrier"))