Merge pull request #1150 from mischief/networkd-wait-online-fixhang

sys-apps/systemd: fix networkd-wait-online interface checks
This commit is contained in:
Nick Owens 2015-03-23 20:03:06 -07:00
commit 172bb5b8d9
3 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,36 @@
From 325461e38bd4536342da50e00c8d86f6a348ef5c Mon Sep 17 00:00:00 2001
From: mischief <mischief@offblast.org>
Date: Thu, 19 Mar 2015 16:04:43 -0700
Subject: [PATCH] networkd: fix systemd-networkd-wait-online with multiple NICs
when checking interface status, systemd-networkd-wait-online
will continue to wait if any interface is still configuring or
being processed by udev. this patch allows it to return if any
one interface is degraded/routable, as per the manual.
---
src/network/networkd-wait-online-manager.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/network/networkd-wait-online-manager.c b/src/network/networkd-wait-online-manager.c
index 1c997a5..1ac162a 100644
--- a/src/network/networkd-wait-online-manager.c
+++ b/src/network/networkd-wait-online-manager.c
@@ -74,13 +74,13 @@ bool manager_all_configured(Manager *m) {
if (!l->state) {
log_debug("link %s has not yet been processed by udev",
l->ifname);
- return false;
+ continue;
}
if (streq(l->state, "configuring")) {
log_debug("link %s is being processed by networkd",
l->ifname);
- return false;
+ continue;
}
if (l->operational_state &&
--
2.0.5

View File

@ -193,6 +193,9 @@ fi
# Fix for coreos/bugs #293
epatch "${FILESDIR}"/219-0003-nspawn-map-all-seccomp-filters-to-capabilities.patch
# https://github.com/coreos/bugs/issues/279
epatch "${FILESDIR}"/218-0006-networkd-fix-systemd-networkd-wait-online-with-multi.patch
autotools-utils_src_prepare
}

View File

@ -189,6 +189,9 @@ fi
# Fix for coreos/bugs #293
epatch "${FILESDIR}"/219-0003-nspawn-map-all-seccomp-filters-to-capabilities.patch
# https://github.com/coreos/bugs/issues/279
epatch "${FILESDIR}"/218-0006-networkd-fix-systemd-networkd-wait-online-with-multi.patch
autotools-utils_src_prepare
}