[systemd-commits] src/network

Tom Gundersen tomegun at kemper.freedesktop.org
Tue Jul 1 04:32:14 PDT 2014


 src/network/networkd-link.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 856f962c7a2e13b33f5b1c691efb2780f2c7afc3
Author: Tom Gundersen <teg at jklm.no>
Date:   Tue Jul 1 13:30:23 2014 +0200

    networkd: link - don't fail if master netdev already exists
    
    This allows restarts to work gracefully.

diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index ce9fbb5..a523a3e 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1723,6 +1723,8 @@ static int link_enslaved(Link *link) {
         assert(link->state == LINK_STATE_ENSLAVING);
         assert(link->network);
 
+        log_debug_link(link, "enslaved");
+
         if (!(link->flags & IFF_UP)) {
                 r = link_up(link);
                 if (r < 0) {
@@ -1749,7 +1751,7 @@ static int enslave_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userdata) {
                 return 1;
 
         r = sd_rtnl_message_get_errno(m);
-        if (r < 0) {
+        if (r < 0 && r != -EEXIST) {
                 log_struct_link(LOG_ERR, link,
                                 "MESSAGE=%-*s: could not enslave: %s",
                                 IFNAMSIZ,
@@ -1760,9 +1762,7 @@ static int enslave_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userdata) {
                 return 1;
         }
 
-        log_debug_link(link, "enslaved");
-
-        if (link->enslaving == 0)
+        if (link->enslaving <= 0)
                 link_enslaved(link);
 
         return 1;



More information about the systemd-commits mailing list