From f3472ea4d8e864c53e304dd7882c0ac1d4fd35cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Thu, 16 Jul 2015 10:21:36 +0200 Subject: [PATCH] ifcfg-rh: respect DEVTIMEOUT if link is not announced by udev yet (rh #1192633) If NIC related initialization takes a long time in udev processing, but we have an ifindex from kernel, we still want to wait until udev is finished and the device is really usable. Check that by calling nm_platform_link_get_by_ifname() and checking @initialized, which means udev is finished. Based on a patch by t-nishimura@hf.jp.nec.com Improved by thaller@redhat.com https://bugzilla.redhat.com/show_bug.cgi?id=1192633 (cherry picked from commit ecdf7cba6bc0f9fd4f0e45579e1b271717411f57) --- src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c index a18920c685..840f5df511 100644 --- a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c +++ b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c @@ -149,6 +149,7 @@ nm_ifcfg_connection_check_devtimeout (NMIfcfgConnection *self) const char *ifname; const char *filename; guint devtimeout; + const NMPlatformLink *pllink; s_con = nm_connection_get_setting_connection (NM_CONNECTION (self)); @@ -164,7 +165,8 @@ nm_ifcfg_connection_check_devtimeout (NMIfcfgConnection *self) if (!devtimeout) return; - if (nm_platform_link_get_ifindex (NM_PLATFORM_GET, ifname) != 0) + pllink = nm_platform_link_get_by_ifname (NM_PLATFORM_GET, ifname); + if (pllink && pllink->initialized) return; /* ONBOOT=yes, DEVICE and DEVTIMEOUT are set, but device is not present */