From: "Daniel P. Berrange" <berrange(a)redhat.com>
A mistaken initialization of 'ret' caused failure to create
macvtap devices to be ignored. The libvirt_lxc process
would later fail to start due to missing devices
Also make sure code checks '< 0' and not '!= 0' since only
-1 is considered an error condition
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/lxc/lxc_process.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 954cb9e..6cfbb0d 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -360,7 +360,7 @@ static int virLXCProcessSetupInterfaceDirect(virConnectPtr conn,
unsigned int *nveths,
char ***veths)
{
- int ret = 0;
+ int ret = -1;
char *res_ifname = NULL;
virLXCDriverPtr driver = conn->privateData;
virNetDevBandwidthPtr bw;
@@ -539,10 +539,10 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn,
}
}
- ret= 0;
+ ret = 0;
cleanup:
- if (ret != 0) {
+ if (ret < 0) {
for (i = 0 ; i < def->nnets ; i++) {
virDomainNetDefPtr iface = def->nets[i];
virNetDevVPortProfilePtr vport =
virDomainNetGetActualVirtPortProfile(iface);
@@ -1046,7 +1046,7 @@ int virLXCProcessStart(virConnectPtr conn,
}
}
- if (virLXCProcessSetupInterfaces(conn, vm->def, &nveths, &veths) != 0)
+ if (virLXCProcessSetupInterfaces(conn, vm->def, &nveths, &veths) < 0)
goto cleanup;
/* Save the configuration for the controller */
--
1.7.11.2