]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
lxc: Fix error handlings in lxcContainerRenameAndEnableInterfaces
authorRyota Ozaki <ozaki.ryota@gmail.com>
Sat, 26 Jun 2010 20:59:59 +0000 (05:59 +0900)
committerEric Blake <eblake@redhat.com>
Mon, 28 Jun 2010 16:51:29 +0000 (10:51 -0600)
The function is expected to return negative value on failure,
however, it returns positive value when either setInterfaceName
or vethInterfaceUpOrDown fails. Because the function returns
the return value of either as is, however, the two functions
may return positive value on failure.

The patch fixes the defects and add error messages.

src/lxc/lxc_container.c

index 018f4d5ccbebe980f694b039066c4bb723d44be4..4371dba3ce65b2c99cbd685feb9a677ecd067c83 100644 (file)
@@ -255,13 +255,20 @@ static int lxcContainerRenameAndEnableInterfaces(unsigned int nveths,
 
         DEBUG("Renaming %s to %s", veths[i], newname);
         rc = setInterfaceName(veths[i], newname);
-        if (0 != rc)
+        if (0 != rc) {
+            VIR_ERROR(_("Failed to rename %s to %s (%d)"),
+                      veths[i], newname, rc);
+            rc = -1;
             goto error_out;
+        }
 
         DEBUG("Enabling %s", newname);
-        rc =  vethInterfaceUpOrDown(newname, 1);
-        if (0 != rc)
+        rc = vethInterfaceUpOrDown(newname, 1);
+        if (0 != rc) {
+            VIR_ERROR(_("Failed to enable %s (%d)"), newname, rc);
+            rc = -1;
             goto error_out;
+        }
         VIR_FREE(newname);
     }