Signed-off-by: Laine Stump <laine@xxxxxxxxxx> Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx> Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Signed-off-by: Laine Stump <laine@xxxxxxxxxx> --- src/conf/domain_conf.c | 3 +-- src/libxl/libxl_domain.c | 7 +++---- src/libxl/libxl_driver.c | 15 +++++---------- src/lxc/lxc_driver.c | 17 +++++------------ src/lxc/lxc_process.c | 10 +++------- 5 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 40ca20be33..349fc28c2a 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -31040,7 +31040,7 @@ virDomainNetBandwidthUpdate(virDomainNetDefPtr iface, virNetworkPortPtr port = NULL; virTypedParameterPtr params = NULL; int nparams = 0; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; int ret = -1; if (!(conn = virGetConnectNetwork())) @@ -31060,7 +31060,6 @@ virDomainNetBandwidthUpdate(virDomainNetDefPtr iface, ret = 0; cleanup: - virObjectUnref(conn); virTypedParamsFree(params, nparams); virObjectUnref(port); virObjectUnref(net); diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index ab838b317c..c046fcb3f7 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -25,6 +25,7 @@ #include "libxl_domain.h" #include "libxl_capabilities.h" +#include "datatypes.h" #include "viralloc.h" #include "virfile.h" #include "virerror.h" @@ -849,7 +850,7 @@ libxlDomainCleanup(libxlDriverPrivatePtr driver, char *file; virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr; unsigned int hostdev_flags = VIR_HOSTDEV_SP_PCI; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; #ifdef LIBXL_HAVE_PVUSB hostdev_flags |= VIR_HOSTDEV_SP_USB; @@ -936,7 +937,6 @@ libxlDomainCleanup(libxlDriverPrivatePtr driver, } virDomainObjRemoveTransientDef(vm); - virObjectUnref(conn); } /* @@ -1050,7 +1050,7 @@ static int libxlNetworkPrepareDevices(virDomainDefPtr def) { size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; int ret = -1; for (i = 0; i < def->nnets; i++) { @@ -1096,7 +1096,6 @@ libxlNetworkPrepareDevices(virDomainDefPtr def) ret = 0; cleanup: - virObjectUnref(conn); return ret; } diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 40d8c3d174..5bd3614e21 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -355,7 +355,7 @@ static void libxlReconnectNotifyNets(virDomainDefPtr def) { size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -372,8 +372,6 @@ libxlReconnectNotifyNets(virDomainDefPtr def) virDomainNetNotifyActualDevice(conn, def, net); } - - virObjectUnref(conn); } @@ -3403,7 +3401,7 @@ libxlDomainAttachNetDevice(libxlDriverPrivatePtr driver, libxl_device_nic nic; int ret = -1; char mac[VIR_MAC_STRING_BUFLEN]; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; virErrorPtr save_err = NULL; libxl_device_nic_init(&nic); @@ -3478,7 +3476,6 @@ libxlDomainAttachNetDevice(libxlDriverPrivatePtr driver, if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK && conn) virDomainNetReleaseActualDevice(conn, vm->def, net); } - virObjectUnref(conn); virObjectUnref(cfg); virErrorRestore(&save_err); return ret; @@ -3904,13 +3901,11 @@ libxlDomainDetachNetDevice(libxlDriverPrivatePtr driver, libxl_device_nic_dispose(&nic); if (!ret) { if (detach->type == VIR_DOMAIN_NET_TYPE_NETWORK) { - virConnectPtr conn = virGetConnectNetwork(); - if (conn) { + g_autoptr(virConnect) conn = virGetConnectNetwork(); + if (conn) virDomainNetReleaseActualDevice(conn, vm->def, detach); - virObjectUnref(conn); - } else { + else VIR_WARN("Unable to release network device '%s'", NULLSTR(detach->ifname)); - } } virDomainNetRemove(vm->def, detachidx); } diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 88d3890de7..4416acf923 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -3463,14 +3463,9 @@ lxcDomainAttachDeviceNetLive(virLXCDriverPtr driver, * to the one defined in the network definition. */ if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK) { - virConnectPtr netconn = virGetConnectNetwork(); - if (!netconn) + g_autoptr(virConnect) netconn = virGetConnectNetwork(); + if (!netconn || virDomainNetAllocateActualDevice(netconn, vm->def, net) < 0) return -1; - if (virDomainNetAllocateActualDevice(netconn, vm->def, net) < 0) { - virObjectUnref(netconn); - return -1; - } - virObjectUnref(netconn); } /* final validation now that actual type is known */ @@ -4028,13 +4023,11 @@ lxcDomainDetachDeviceNetLive(virDomainObjPtr vm, if (!ret) { virErrorPreserveLast(&save_err); if (detach->type == VIR_DOMAIN_NET_TYPE_NETWORK) { - virConnectPtr conn = virGetConnectNetwork(); - if (conn) { + g_autoptr(virConnect) conn = virGetConnectNetwork(); + if (conn) virDomainNetReleaseActualDevice(conn, vm->def, detach); - virObjectUnref(conn); - } else { + else VIR_WARN("Unable to release network device '%s'", NULLSTR(detach->ifname)); - } } virDomainNetRemove(vm->def, detachidx); virDomainNetDefFree(detach); diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 0b6895bbd4..cbc04a3dcd 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -172,7 +172,7 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver, virLXCDomainObjPrivatePtr priv = vm->privateData; const virNetDevVPortProfile *vport = NULL; virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver); - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; VIR_DEBUG("Cleanup VM name=%s pid=%d reason=%d flags=0x%x", vm->def->name, (int)vm->pid, (int)reason, flags); @@ -281,7 +281,6 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver, virDomainObjRemoveTransientDef(vm); virObjectUnref(cfg); - virObjectUnref(conn); } @@ -571,7 +570,7 @@ virLXCProcessSetupInterfaces(virLXCDriverPtr driver, size_t niface = 0; virDomainNetDefPtr net; virDomainNetType type; - virConnectPtr netconn = NULL; + g_autoptr(virConnect) netconn = NULL; virErrorPtr save_err = NULL; *veths = g_new0(char *, def->nnets + 1); @@ -680,7 +679,6 @@ virLXCProcessSetupInterfaces(virLXCDriverPtr driver, } virErrorRestore(&save_err); } - virObjectUnref(netconn); return ret; } @@ -1634,7 +1632,7 @@ static void virLXCProcessReconnectNotifyNets(virDomainDefPtr def) { size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -1668,8 +1666,6 @@ virLXCProcessReconnectNotifyNets(virDomainDefPtr def) virDomainNetNotifyActualDevice(conn, def, net); } - - virObjectUnref(conn); } -- 2.29.2