diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2014-11-21 15:02:37 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2014-11-21 15:10:49 +0100 |
commit | 09248714525cfa07e5b665af8855fd6011300411 (patch) | |
tree | 696f7704d3c715dace1e4a04d8dc9a1f14868d5c | |
parent | 4b7a736c4026451981b863cc4df2d4a2451a2f0c (diff) | |
download | NetworkManager-lr/no-udev.tar.gz |
platform: Don't wait for udev device initializaton in a cointainerlr/no-udev
There's no udev there, it only starts if /sys is writable. If a hardware device
is added to the container's namespace NM would not announce it.
Remove the software link special case, the software links now won't wait for
udev initialization as well.
-rw-r--r-- | src/platform/nm-linux-platform.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index 391f1758db..efb9c4d67c 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -836,10 +836,6 @@ link_is_announceable (NMPlatform *platform, struct rtnl_link *rtnllink) { NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (platform); - /* Software devices are always visible outside the platform */ - if (link_is_software (rtnllink)) - return TRUE; - /* Hardware devices must be found by udev so rules get run and tags set */ if (g_hash_table_lookup (priv->udev_devices, GINT_TO_POINTER (rtnl_link_get_ifindex (rtnllink)))) @@ -4220,7 +4216,12 @@ setup (NMPlatform *platform) /* And read initial device list */ enumerator = g_udev_enumerator_new (priv->udev_client); g_udev_enumerator_add_match_subsystem (enumerator, "net"); - g_udev_enumerator_add_match_is_initialized (enumerator); + + /* Demand that the device is initialized (udev rules ran, + * device has a stable name now) in case udev is running + * (not in a container). */ + if (access ("/sys", W_OK) == 0) + g_udev_enumerator_add_match_is_initialized (enumerator); devices = g_udev_enumerator_execute (enumerator); for (iter = devices; iter; iter = g_list_next (iter)) { |