Signed-off-by: Rafael Fonseca <r4f4rfs(a)gmail.com>
---
src/conf/domain_event.c | 58 ++++++------
src/datatypes.c | 80 ++++++++++------
src/datatypes.h | 20 ++--
src/esx/esx_driver.c | 7 +-
src/hyperv/hyperv_driver.c | 8 +-
src/libvirt-domain.c | 6 +-
src/libvirt_private.syms | 2 +-
src/libxl/libxl_migration.c | 3 +-
src/locking/sanlock_helper.c | 5 +-
src/qemu/qemu_driver.c | 6 +-
src/qemu/qemu_migration.c | 6 +-
src/remote/remote_daemon_dispatch.c | 139 +++++++++-------------------
src/remote/remote_driver.c | 100 ++++++--------------
src/rpc/gendispatch.pl | 6 +-
src/vbox/vbox_common.c | 11 +--
src/vz/vz_driver.c | 5 +-
16 files changed, 183 insertions(+), 279 deletions(-)
diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c
index 33fbf10406..d1a4953686 100644
--- a/src/conf/domain_event.c
+++ b/src/conf/domain_event.c
@@ -1625,8 +1625,8 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
virConnectObjectEventGenericCallback cb,
void *cbopaque)
{
- virDomainPtr dom = virGetDomain(conn, event->meta.name,
- event->meta.uuid, event->meta.id);
+ g_autoptr(virDomain) dom = virGetDomain(conn, event->meta.name,
+ event->meta.uuid, event->meta.id);
if (!dom)
return;
@@ -1641,13 +1641,13 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
lifecycleEvent->type,
lifecycleEvent->detail,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_REBOOT:
(cb)(conn, dom,
cbopaque);
- goto cleanup;
+ return;
case VIR_DOMAIN_EVENT_ID_RTC_CHANGE:
{
@@ -1657,7 +1657,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventRTCChangeCallback)cb)(conn, dom,
rtcChangeEvent->offset,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_WATCHDOG:
@@ -1668,7 +1668,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventWatchdogCallback)cb)(conn, dom,
watchdogEvent->action,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_IO_ERROR:
@@ -1681,7 +1681,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
ioErrorEvent->devAlias,
ioErrorEvent->action,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON:
@@ -1695,7 +1695,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
ioErrorEvent->action,
ioErrorEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_GRAPHICS:
@@ -1710,13 +1710,13 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
graphicsEvent->authScheme,
graphicsEvent->subject,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_CONTROL_ERROR:
(cb)(conn, dom,
cbopaque);
- goto cleanup;
+ return;
case VIR_DOMAIN_EVENT_ID_BLOCK_JOB:
case VIR_DOMAIN_EVENT_ID_BLOCK_JOB_2:
@@ -1729,7 +1729,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
blockJobEvent->type,
blockJobEvent->status,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_DISK_CHANGE:
@@ -1743,7 +1743,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
diskChangeEvent->devAlias,
diskChangeEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_TRAY_CHANGE:
@@ -1755,7 +1755,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
trayChangeEvent->devAlias,
trayChangeEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_PMWAKEUP:
@@ -1765,7 +1765,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventPMWakeupCallback)cb)(conn, dom,
pmEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_PMSUSPEND:
@@ -1775,7 +1775,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventPMSuspendCallback)cb)(conn, dom,
pmEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE:
@@ -1786,7 +1786,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventBalloonChangeCallback)cb)(conn, dom,
balloonChangeEvent->actual,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_PMSUSPEND_DISK:
@@ -1796,7 +1796,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventPMSuspendDiskCallback)cb)(conn, dom,
pmEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED:
@@ -1807,7 +1807,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventDeviceRemovedCallback)cb)(conn, dom,
deviceRemovedEvent->devAlias,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_TUNABLE:
@@ -1818,7 +1818,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
tunableEvent->params,
tunableEvent->nparams,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE:
@@ -1829,7 +1829,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
agentLifecycleEvent->state,
agentLifecycleEvent->reason,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_DEVICE_ADDED:
@@ -1840,7 +1840,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventDeviceAddedCallback)cb)(conn, dom,
deviceAddedEvent->devAlias,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_MIGRATION_ITERATION:
@@ -1851,7 +1851,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventMigrationIterationCallback)cb)(conn, dom,
ev->iteration,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_JOB_COMPLETED:
@@ -1863,7 +1863,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
ev->params,
ev->nparams,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_DEVICE_REMOVAL_FAILED:
@@ -1874,7 +1874,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
((virConnectDomainEventDeviceRemovalFailedCallback)cb)(conn, dom,
deviceRemovalFailedEvent->devAlias,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_METADATA_CHANGE:
@@ -1886,7 +1886,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
metadataChangeEvent->type,
metadataChangeEvent->nsuri,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_BLOCK_THRESHOLD:
@@ -1900,16 +1900,13 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
blockThresholdEvent->threshold,
blockThresholdEvent->excess,
cbopaque);
- goto cleanup;
+ return;
}
case VIR_DOMAIN_EVENT_ID_LAST:
break;
}
VIR_WARN("Unexpected event ID %d", event->eventID);
-
- cleanup:
- virObjectUnref(dom);
}
@@ -1963,7 +1960,7 @@ virDomainQemuMonitorEventDispatchFunc(virConnectPtr conn,
virConnectObjectEventGenericCallback cb,
void *cbopaque)
{
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virDomainQemuMonitorEventPtr qemuMonitorEvent;
virDomainQemuMonitorEventData *data = cbopaque;
@@ -1978,7 +1975,6 @@ virDomainQemuMonitorEventDispatchFunc(virConnectPtr conn,
qemuMonitorEvent->micros,
qemuMonitorEvent->details,
data->opaque);
- virObjectUnref(dom);
}
diff --git a/src/datatypes.c b/src/datatypes.c
index 5d8752334d..e72e839562 100644
--- a/src/datatypes.c
+++ b/src/datatypes.c
@@ -35,11 +35,27 @@ VIR_LOG_INIT("datatypes");
virClassPtr virConnectClass;
virClassPtr virConnectCloseCallbackDataClass;
-virClassPtr virDomainClass;
static void virConnectDispose(void *obj);
static void virConnectCloseCallbackDataDispose(void *obj);
-static void virDomainDispose(void *obj);
+
+G_DEFINE_TYPE(virDomain, vir_domain, G_TYPE_OBJECT);
+static void virDomainDispose(GObject *obj);
+static void virDomainFinalize(GObject *obj);
+
+static void
+vir_domain_init(virDomain *dom G_GNUC_UNUSED)
+{
+}
+
+static void
+vir_domain_class_init(virDomainClass *klass)
+{
+ GObjectClass *obj = G_OBJECT_CLASS(klass);
+
+ obj->dispose = virDomainDispose;
+ obj->finalize = virDomainFinalize;
+}
G_DEFINE_TYPE(virDomainCheckpoint, vir_domain_checkpoint, G_TYPE_OBJECT);
static void virDomainCheckpointDispose(GObject *obj);
@@ -310,7 +326,6 @@ virDataTypesOnceInit(void)
DECLARE_CLASS_LOCKABLE(virConnect);
DECLARE_CLASS_LOCKABLE(virConnectCloseCallbackData);
- DECLARE_CLASS(virDomain);
DECLARE_CLASS_LOCKABLE(virAdmConnect);
DECLARE_CLASS_LOCKABLE(virAdmConnectCloseCallbackData);
@@ -475,7 +490,7 @@ virConnectCloseCallbackDataGetCallback(virConnectCloseCallbackDataPtr
closeData)
* @id: domain ID
*
* Allocates a new domain object. When the object is no longer needed,
- * virObjectUnref() must be called in order to not leak data.
+ * g_object_unref() must be called in order to not leak data.
*
* Returns a pointer to the domain object, or NULL on error.
*/
@@ -485,17 +500,16 @@ virGetDomain(virConnectPtr conn,
const unsigned char *uuid,
int id)
{
- virDomainPtr ret = NULL;
+ g_autoptr(virDomain) ret = NULL;
if (virDataTypesInitialize() < 0)
return NULL;
- virCheckConnectGoto(conn, error);
- virCheckNonNullArgGoto(name, error);
- virCheckNonNullArgGoto(uuid, error);
+ virCheckConnectReturn(conn, NULL);
+ virCheckNonNullArgReturn(name, NULL);
+ virCheckNonNullArgReturn(uuid, NULL);
- if (!(ret = virObjectNew(virDomainClass)))
- goto error;
+ ret = VIR_DOMAIN(g_object_new(VIR_TYPE_DOMAIN, NULL));
ret->name = g_strdup(name);
@@ -503,34 +517,46 @@ virGetDomain(virConnectPtr conn,
ret->id = id;
memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN);
- return ret;
-
- error:
- virObjectUnref(ret);
- return NULL;
+ return g_steal_pointer(&ret);
}
/**
* virDomainDispose:
* @obj: the domain to release
*
- * Unconditionally release all memory associated with a domain.
- * The domain object must not be used once this method returns.
+ * Unreferences the associated connection object, which may also be
+ * released if its ref count hits zero.
+ */
+static void
+virDomainDispose(GObject *obj)
+{
+ virDomainPtr domain = VIR_DOMAIN(obj);
+
+ virObjectUnref(domain->conn);
+ domain->conn = NULL;
+
+ G_OBJECT_CLASS(vir_domain_parent_class)->dispose(obj);
+}
+
+/**
+ * virDomainFinalize:
+ * @obj: the domain to release
*
- * It will also unreference the associated connection object,
- * which may also be released if its ref count hits zero.
+ * Unconditionally releases all memory associated with a domain.
+ * The domain object must not be used once this method returns.
*/
static void
-virDomainDispose(void *obj)
+virDomainFinalize(GObject *obj)
{
- virDomainPtr domain = obj;
+ virDomainPtr domain = VIR_DOMAIN(obj);
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(domain->uuid, uuidstr);
VIR_DEBUG("release domain %p %s %s", domain, domain->name, uuidstr);
VIR_FREE(domain->name);
- virObjectUnref(domain->conn);
+
+ G_OBJECT_CLASS(vir_domain_parent_class)->finalize(obj);
}
@@ -1296,7 +1322,7 @@ virGetDomainCheckpoint(virDomainPtr domain,
ret = VIR_DOMAIN_CHECKPOINT(g_object_new(VIR_TYPE_DOMAIN_CHECKPOINT, NULL));
ret->name = g_strdup(name);
- ret->domain = virObjectRef(domain);
+ ret->domain = g_object_ref(domain);
return g_steal_pointer(&ret);
}
@@ -1314,8 +1340,7 @@ virDomainCheckpointDispose(GObject *obj)
{
virDomainCheckpointPtr checkpoint = VIR_DOMAIN_CHECKPOINT(obj);
- virObjectUnref(checkpoint->domain);
- checkpoint->domain = NULL;
+ g_clear_object(&checkpoint->domain);
G_OBJECT_CLASS(vir_domain_checkpoint_parent_class)->dispose(obj);
}
@@ -1363,7 +1388,7 @@ virGetDomainSnapshot(virDomainPtr domain, const char *name)
ret = VIR_DOMAIN_SNAPSHOT(g_object_new(VIR_TYPE_DOMAIN_SNAPSHOT, NULL));
ret->name = g_strdup(name);
- ret->domain = virObjectRef(domain);
+ ret->domain = g_object_ref(domain);
return g_steal_pointer(&ret);
}
@@ -1381,8 +1406,7 @@ virDomainSnapshotDispose(GObject *obj)
{
virDomainSnapshotPtr snapshot = VIR_DOMAIN_SNAPSHOT(obj);
- virObjectUnref(snapshot->domain);
- snapshot->domain = NULL;
+ g_clear_object(&snapshot->domain);
G_OBJECT_CLASS(vir_domain_snapshot_parent_class)->dispose(obj);
}
diff --git a/src/datatypes.h b/src/datatypes.h
index e96654cac1..f647096938 100644
--- a/src/datatypes.h
+++ b/src/datatypes.h
@@ -31,7 +31,9 @@
#include <glib-object.h>
extern virClassPtr virConnectClass;
-extern virClassPtr virDomainClass;
+
+#define VIR_TYPE_DOMAIN vir_domain_get_type()
+G_DECLARE_FINAL_TYPE(virDomain, vir_domain, VIR, DOMAIN, GObject);
#define VIR_TYPE_DOMAIN_CHECKPOINT vir_domain_checkpoint_get_type()
G_DECLARE_FINAL_TYPE(virDomainCheckpoint,
@@ -110,8 +112,8 @@ G_DECLARE_FINAL_TYPE(virAdmClient, vir_adm_client, VIR, ADM_CLIENT,
GObject);
#define virCheckDomainReturn(obj, retval) \
do { \
- virDomainPtr _dom = (obj); \
- if (!virObjectIsClass(_dom, virDomainClass) || \
+ virDomainPtr _dom = VIR_DOMAIN(obj); \
+ if (_dom == NULL || \
!virObjectIsClass(_dom->conn, virConnectClass)) { \
virReportErrorHelper(VIR_FROM_DOM, VIR_ERR_INVALID_DOMAIN, \
__FILE__, __FUNCTION__, __LINE__, \
@@ -122,8 +124,8 @@ G_DECLARE_FINAL_TYPE(virAdmClient, vir_adm_client, VIR, ADM_CLIENT,
GObject);
} while (0)
#define virCheckDomainGoto(obj, label) \
do { \
- virDomainPtr _dom = (obj); \
- if (!virObjectIsClass(_dom, virDomainClass) || \
+ virDomainPtr _dom = VIR_DOMAIN(obj); \
+ if (_dom == NULL || \
!virObjectIsClass(_dom->conn, virConnectClass)) { \
virReportErrorHelper(VIR_FROM_DOM, VIR_ERR_INVALID_DOMAIN, \
__FILE__, __FUNCTION__, __LINE__, \
@@ -365,7 +367,7 @@ G_DECLARE_FINAL_TYPE(virAdmClient, vir_adm_client, VIR, ADM_CLIENT,
GObject);
do { \
virDomainCheckpointPtr _check = VIR_DOMAIN_CHECKPOINT(obj); \
if (_check == NULL || \
- !virObjectIsClass(_check->domain, virDomainClass) || \
+ !VIR_IS_DOMAIN(_check->domain) || \
!virObjectIsClass(_check->domain->conn, virConnectClass)) { \
virReportErrorHelper(VIR_FROM_DOMAIN_CHECKPOINT, \
VIR_ERR_INVALID_DOMAIN_CHECKPOINT, \
@@ -380,7 +382,7 @@ G_DECLARE_FINAL_TYPE(virAdmClient, vir_adm_client, VIR, ADM_CLIENT,
GObject);
do { \
virDomainSnapshotPtr _snap = (obj); \
if (_snap == NULL || \
- !virObjectIsClass(_snap->domain, virDomainClass) || \
+ !VIR_IS_DOMAIN(_snap->domain) || \
!virObjectIsClass(_snap->domain->conn, virConnectClass)) { \
virReportErrorHelper(VIR_FROM_DOMAIN_SNAPSHOT, \
VIR_ERR_INVALID_DOMAIN_SNAPSHOT, \
@@ -427,7 +429,7 @@ G_DECLARE_FINAL_TYPE(virAdmClient, vir_adm_client, VIR, ADM_CLIENT,
GObject);
char _uuidstr[VIR_UUID_STRING_BUFLEN]; \
const char *_domname = NULL; \
\
- if (!virObjectIsClass(dom, virDomainClass)) { \
+ if (!VIR_IS_DOMAIN(dom)) { \
memset(_uuidstr, 0, sizeof(_uuidstr)); \
} else { \
virUUIDFormat((dom)->uuid, _uuidstr); \
@@ -641,7 +643,7 @@ struct _virAdmClient {
* Internal structure associated to a domain
*/
struct _virDomain {
- virObject parent;
+ GObject parent;
virConnectPtr conn; /* pointer back to the connection */
char *name; /* the domain external name */
int id; /* the domain ID */
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index 42f6ab9392..fc3a58c3de 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -5006,12 +5006,7 @@ esxConnectListAllDomains(virConnectPtr conn,
ret = count;
cleanup:
- if (doms) {
- for (id = 0; id < count; id++)
- virObjectUnref(doms[id]);
-
- VIR_FREE(doms);
- }
+ virGObjectListFreeCount(doms, count);
VIR_FREE(name);
esxVI_AutoStartDefaults_Free(&autoStartDefaults);
diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c
index 4677a25ff8..a0eb14a947 100644
--- a/src/hyperv/hyperv_driver.c
+++ b/src/hyperv/hyperv_driver.c
@@ -1206,7 +1206,6 @@ hypervConnectListAllDomains(virConnectPtr conn,
virDomainPtr *doms = NULL;
int count = 0;
int ret = -1;
- size_t i;
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
@@ -1308,12 +1307,7 @@ hypervConnectListAllDomains(virConnectPtr conn,
ret = count;
cleanup:
- if (doms) {
- for (i = 0; i < count; ++i)
- virObjectUnref(doms[i]);
-
- VIR_FREE(doms);
- }
+ virGObjectListFreeCount(doms, count);
hypervFreeObject(priv, (hypervObject *)computerSystemList);
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index a12809c2d5..6f889f0c3b 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -565,7 +565,7 @@ virDomainFree(virDomainPtr domain)
virCheckDomainReturn(domain, -1);
- virObjectUnref(domain);
+ g_clear_object(&domain);
return 0;
}
@@ -590,13 +590,13 @@ virDomainFree(virDomainPtr domain)
int
virDomainRef(virDomainPtr domain)
{
- VIR_DOMAIN_DEBUG(domain, "refs=%d", domain ? domain->parent.u.s.refs :
0);
+ VIR_DOMAIN_DEBUG(domain);
virResetLastError();
virCheckDomainReturn(domain, -1);
- virObjectRef(domain);
+ g_object_ref(domain);
return 0;
}
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 1514db8cb9..d96331e633 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1347,6 +1347,7 @@ virCPUx86FeatureFilterSelectMSR;
# datatypes.h
vir_domain_checkpoint_get_type;
+vir_domain_get_type;
vir_domain_snapshot_get_type;
vir_interface_get_type;
vir_network_get_type;
@@ -1364,7 +1365,6 @@ virConnectCloseCallbackDataClass;
virConnectCloseCallbackDataGetCallback;
virConnectCloseCallbackDataRegister;
virConnectCloseCallbackDataUnregister;
-virDomainClass;
virGetConnect;
virGetDomain;
virGetDomainCheckpoint;
diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c
index 50804ca8b8..11d3070935 100644
--- a/src/libxl/libxl_migration.c
+++ b/src/libxl/libxl_migration.c
@@ -985,7 +985,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver,
const char *uri,
unsigned int flags)
{
- virDomainPtr ddomain = NULL;
+ g_autoptr(virDomain) ddomain = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
int maxparams = 0;
@@ -1113,7 +1113,6 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver,
}
if (ddomain) {
- virObjectUnref(ddomain);
ret = 0;
} else {
ret = -1;
diff --git a/src/locking/sanlock_helper.c b/src/locking/sanlock_helper.c
index 50deccfd67..7a8480932f 100644
--- a/src/locking/sanlock_helper.c
+++ b/src/locking/sanlock_helper.c
@@ -5,7 +5,7 @@
#include "viralloc.h"
#include "domain_conf.h"
#include "virgettext.h"
-
+#include "datatypes.h"
static int
getArgs(int argc,
@@ -52,7 +52,7 @@ main(int argc, char **argv)
virDomainLockFailureAction action;
char *xml = NULL;
virConnectPtr conn = NULL;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int ret = EXIT_FAILURE;
int authTypes[] = {
@@ -99,7 +99,6 @@ main(int argc, char **argv)
}
cleanup:
- virObjectUnref(dom);
if (conn)
virConnectClose(conn);
VIR_FREE(xml);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index b35cca4dcc..c05803f08a 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1089,11 +1089,7 @@ qemuStateStop(void)
ret = -1;
cleanup:
- if (domains) {
- for (i = 0; i < numDomains; i++)
- virObjectUnref(domains[i]);
- VIR_FREE(domains);
- }
+ virGObjectListFreeCount(domains, numDomains);
return ret;
}
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 13ff06f5c7..ab4ae8e150 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3993,7 +3993,7 @@ qemuMigrationSrcPerformPeer2Peer2(virQEMUDriverPtr driver,
unsigned long resource,
qemuMigrationParamsPtr migParams)
{
- virDomainPtr ddomain = NULL;
+ g_autoptr(virDomain) ddomain = NULL;
char *uri_out = NULL;
char *cookie = NULL;
char *dom_xml = NULL;
@@ -4103,7 +4103,6 @@ qemuMigrationSrcPerformPeer2Peer2(virQEMUDriverPtr driver,
cleanup:
if (ddomain) {
- virObjectUnref(ddomain);
ret = 0;
} else {
ret = -1;
@@ -4142,7 +4141,7 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr driver,
bool useParams,
unsigned long flags)
{
- virDomainPtr ddomain = NULL;
+ g_autoptr(virDomain) ddomain = NULL;
char *uri_out = NULL;
char *cookiein = NULL;
char *cookieout = NULL;
@@ -4439,7 +4438,6 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr driver,
cleanup:
if (ddomain) {
- virObjectUnref(ddomain);
ret = 0;
} else {
ret = -1;
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index c5eca3bc0c..29944bdfa3 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -2264,7 +2264,7 @@ remoteDispatchDomainGetSchedulerType(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_scheduler_type_args *args,
remote_domain_get_scheduler_type_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *type;
int nparams;
int rv = -1;
@@ -2286,7 +2286,6 @@ remoteDispatchDomainGetSchedulerType(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -2298,7 +2297,7 @@ remoteDispatchDomainGetSchedulerParameters(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_scheduler_parameters_args
*args,
remote_domain_get_scheduler_parameters_ret
*ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
int rv = -1;
@@ -2334,7 +2333,6 @@ remoteDispatchDomainGetSchedulerParameters(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -2346,7 +2344,7 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNetServerPtr
server G_GNUC_UN
remote_domain_get_scheduler_parameters_flags_args *args,
remote_domain_get_scheduler_parameters_flags_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
int rv = -1;
@@ -2383,7 +2381,6 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNetServerPtr
server G_GNUC_UN
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -2395,7 +2392,7 @@ remoteDispatchDomainMemoryStats(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_memory_stats_args *args,
remote_domain_memory_stats_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virDomainMemoryStatPtr stats = NULL;
int nr_stats;
size_t i;
@@ -2437,7 +2434,6 @@ remoteDispatchDomainMemoryStats(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
VIR_FREE(stats);
return rv;
}
@@ -2450,7 +2446,7 @@ remoteDispatchDomainBlockPeek(virNetServerPtr server G_GNUC_UNUSED,
remote_domain_block_peek_args *args,
remote_domain_block_peek_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *path;
unsigned long long offset;
size_t size;
@@ -2489,7 +2485,6 @@ remoteDispatchDomainBlockPeek(virNetServerPtr server G_GNUC_UNUSED,
virNetMessageSaveError(rerr);
VIR_FREE(ret->buffer.buffer_val);
}
- virObjectUnref(dom);
return rv;
}
@@ -2502,7 +2497,7 @@ remoteDispatchDomainBlockStatsFlags(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_block_stats_flags_ret *ret)
{
virTypedParameterPtr params = NULL;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
const char *path = args->path;
int nparams = 0;
unsigned int flags;
@@ -2550,7 +2545,6 @@ remoteDispatchDomainBlockStatsFlags(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -2562,7 +2556,7 @@ remoteDispatchDomainMemoryPeek(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_memory_peek_args *args,
remote_domain_memory_peek_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
unsigned long long offset;
size_t size;
unsigned int flags;
@@ -2599,7 +2593,6 @@ remoteDispatchDomainMemoryPeek(virNetServerPtr server
G_GNUC_UNUSED,
virNetMessageSaveError(rerr);
VIR_FREE(ret->buffer.buffer_val);
}
- virObjectUnref(dom);
return rv;
}
@@ -2611,7 +2604,7 @@ remoteDispatchDomainGetSecurityLabel(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_security_label_args *args,
remote_domain_get_security_label_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virSecurityLabelPtr seclabel = NULL;
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -2639,7 +2632,6 @@ remoteDispatchDomainGetSecurityLabel(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
VIR_FREE(seclabel);
return rv;
}
@@ -2652,7 +2644,7 @@ remoteDispatchDomainGetSecurityLabelList(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_security_label_list_args
*args,
remote_domain_get_security_label_list_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virSecurityLabelPtr seclabels = NULL;
int len, rv = -1;
size_t i;
@@ -2689,7 +2681,6 @@ remoteDispatchDomainGetSecurityLabelList(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
VIR_FREE(seclabels);
return rv;
}
@@ -2738,7 +2729,7 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_vcpu_pin_info_args *args,
remote_domain_get_vcpu_pin_info_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
unsigned char *cpumaps = NULL;
int num;
int rv = -1;
@@ -2788,7 +2779,6 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
VIR_FREE(cpumaps);
- virObjectUnref(dom);
return rv;
}
@@ -2800,7 +2790,7 @@ remoteDispatchDomainPinEmulator(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_pin_emulator_args *args)
{
int rv = -1;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virConnectPtr conn = remoteGetHypervisorConn(client);
if (!conn)
@@ -2820,7 +2810,6 @@ remoteDispatchDomainPinEmulator(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -2833,7 +2822,7 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_emulator_pin_info_args *args,
remote_domain_get_emulator_pin_info_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
unsigned char *cpumaps = NULL;
int r;
int rv = -1;
@@ -2867,7 +2856,6 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
VIR_FREE(cpumaps);
- virObjectUnref(dom);
return rv;
}
@@ -2879,7 +2867,7 @@ remoteDispatchDomainGetVcpus(virNetServerPtr server G_GNUC_UNUSED,
remote_domain_get_vcpus_args *args,
remote_domain_get_vcpus_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virVcpuInfoPtr info = NULL;
unsigned char *cpumaps = NULL;
int info_len;
@@ -2945,7 +2933,6 @@ remoteDispatchDomainGetVcpus(virNetServerPtr server G_GNUC_UNUSED,
}
VIR_FREE(cpumaps);
VIR_FREE(info);
- virObjectUnref(dom);
return rv;
}
@@ -2960,7 +2947,7 @@ remoteDispatchDomainGetIOThreadInfo(virNetServerPtr server
G_GNUC_UNUSED,
int rv = -1;
size_t i;
virDomainIOThreadInfoPtr *info = NULL;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
remote_domain_iothread_info *dst;
int ninfo = 0;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -3010,7 +2997,6 @@ remoteDispatchDomainGetIOThreadInfo(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
if (ninfo >= 0)
for (i = 0; i < ninfo; i++)
virDomainIOThreadInfoFree(info[i]);
@@ -3128,7 +3114,7 @@ remoteDispatchDomainGetMemoryParameters(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_memory_parameters_args *args,
remote_domain_get_memory_parameters_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
unsigned int flags;
@@ -3176,7 +3162,6 @@ remoteDispatchDomainGetMemoryParameters(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -3188,7 +3173,7 @@ remoteDispatchDomainGetNumaParameters(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_numa_parameters_args *args,
remote_domain_get_numa_parameters_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
unsigned int flags;
@@ -3236,7 +3221,6 @@ remoteDispatchDomainGetNumaParameters(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -3248,7 +3232,7 @@ remoteDispatchDomainGetBlkioParameters(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_blkio_parameters_args *args,
remote_domain_get_blkio_parameters_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
unsigned int flags;
@@ -3296,7 +3280,6 @@ remoteDispatchDomainGetBlkioParameters(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -3444,7 +3427,7 @@ remoteDispatchDomainGetLaunchSecurityInfo(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_launch_security_info_args
*args,
remote_domain_get_launch_security_info_ret
*ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
int rv = -1;
@@ -3472,7 +3455,6 @@ remoteDispatchDomainGetLaunchSecurityInfo(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -3484,7 +3466,7 @@ remoteDispatchDomainGetPerfEvents(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_perf_events_args *args,
remote_domain_get_perf_events_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
int rv = -1;
@@ -3512,7 +3494,6 @@ remoteDispatchDomainGetPerfEvents(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -3524,7 +3505,7 @@ remoteDispatchDomainGetBlockJobInfo(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_block_job_info_args *args,
remote_domain_get_block_job_info_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virDomainBlockJobInfo tmp;
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -3549,7 +3530,6 @@ remoteDispatchDomainGetBlockJobInfo(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -3561,7 +3541,7 @@ remoteDispatchDomainGetBlockIoTune(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_block_io_tune_args *args,
remote_domain_get_block_io_tune_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
virTypedParameterPtr params = NULL;
int nparams = 0;
@@ -3609,7 +3589,6 @@ remoteDispatchDomainGetBlockIoTune(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -4416,7 +4395,7 @@ remoteDispatchDomainGetState(virNetServerPtr server G_GNUC_UNUSED,
remote_domain_get_state_args *args,
remote_domain_get_state_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -4434,7 +4413,6 @@ remoteDispatchDomainGetState(virNetServerPtr server G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -4532,7 +4510,7 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(virNetServerPtr
server G_GNU
daemonClientEventCallbackPtr ref;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virConnectPtr conn = remoteGetHypervisorConn(client);
virMutexLock(&priv->lock);
@@ -4590,7 +4568,6 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(virNetServerPtr
server G_GNU
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -4705,7 +4682,7 @@ qemuDispatchDomainMonitorCommand(virNetServerPtr server
G_GNUC_UNUSED,
qemu_domain_monitor_command_args *args,
qemu_domain_monitor_command_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -4724,7 +4701,6 @@ qemuDispatchDomainMonitorCommand(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -4738,7 +4714,7 @@ remoteDispatchDomainMigrateBegin3(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_migrate_begin3_ret *ret)
{
char *xml = NULL;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *dname;
char *xmlin;
char *cookieout = NULL;
@@ -4772,7 +4748,6 @@ remoteDispatchDomainMigrateBegin3(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -4838,7 +4813,7 @@ remoteDispatchDomainMigratePerform3(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_migrate_perform3_args *args,
remote_domain_migrate_perform3_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *xmlin;
char *dname;
char *uri;
@@ -4877,7 +4852,6 @@ remoteDispatchDomainMigratePerform3(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -4890,7 +4864,7 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_migrate_finish3_args *args,
remote_domain_migrate_finish3_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *cookieout = NULL;
int cookieoutlen = 0;
char *uri;
@@ -4927,7 +4901,6 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr server
G_GNUC_UNUSED,
virNetMessageSaveError(rerr);
VIR_FREE(cookieout);
}
- virObjectUnref(dom);
return rv;
}
@@ -4939,7 +4912,7 @@ remoteDispatchDomainMigrateConfirm3(virNetServerPtr server
G_GNUC_UNUSED,
virNetMessageErrorPtr rerr,
remote_domain_migrate_confirm3_args *args)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -4960,7 +4933,6 @@ remoteDispatchDomainMigrateConfirm3(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5035,7 +5007,7 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr server
G_GNUC_UNUSED,
virNetMessageErrorPtr rerr,
remote_domain_open_graphics_args *args)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
int fd = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -5061,7 +5033,6 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr server
G_GNUC_UNUSED,
VIR_FORCE_CLOSE(fd);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5073,7 +5044,7 @@ remoteDispatchDomainOpenGraphicsFd(virNetServerPtr server
G_GNUC_UNUSED,
virNetMessageErrorPtr rerr,
remote_domain_open_graphics_fd_args *args)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
int fd = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -5101,7 +5072,6 @@ remoteDispatchDomainOpenGraphicsFd(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5114,7 +5084,7 @@ remoteDispatchDomainGetInterfaceParameters(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_interface_parameters_args
*args,
remote_domain_get_interface_parameters_ret
*ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
const char *device = args->device;
int nparams = 0;
@@ -5163,7 +5133,6 @@ remoteDispatchDomainGetInterfaceParameters(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -5175,7 +5144,7 @@ remoteDispatchDomainGetCPUStats(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_cpu_stats_args *args,
remote_domain_get_cpu_stats_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int rv = -1;
int percpu_len = 0;
@@ -5232,7 +5201,6 @@ remoteDispatchDomainGetCPUStats(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, args->ncpus * args->nparams);
- virObjectUnref(dom);
return rv;
}
@@ -5245,7 +5213,7 @@ remoteDispatchDomainGetDiskErrors(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_disk_errors_ret *ret)
{
int rv = -1;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virDomainDiskErrorPtr errors = NULL;
int len = 0;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -5283,7 +5251,6 @@ remoteDispatchDomainGetDiskErrors(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
if (errors && len > 0) {
size_t i;
for (i = 0; i < len; i++)
@@ -5439,7 +5406,7 @@ lxcDispatchDomainOpenNamespace(virNetServerPtr server
G_GNUC_UNUSED,
int rv = -1;
int *fdlist = NULL;
int ret;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
size_t i;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -5472,7 +5439,6 @@ lxcDispatchDomainOpenNamespace(virNetServerPtr server
G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5484,7 +5450,7 @@ remoteDispatchDomainGetJobStats(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_get_job_stats_args *args,
remote_domain_get_job_stats_ret *ret)
{
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
int rv = -1;
@@ -5513,7 +5479,6 @@ remoteDispatchDomainGetJobStats(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
@@ -5526,7 +5491,7 @@ remoteDispatchDomainMigrateBegin3Params(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_migrate_begin3_params_ret *ret)
{
char *xml = NULL;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
char *cookieout = NULL;
@@ -5567,7 +5532,6 @@ remoteDispatchDomainMigrateBegin3Params(virNetServerPtr server
G_GNUC_UNUSED,
virTypedParamsFree(params, nparams);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5705,7 +5669,7 @@ remoteDispatchDomainMigratePerform3Params(virNetServerPtr server
G_GNUC_UNUSED,
{
virTypedParameterPtr params = NULL;
int nparams = 0;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *cookieout = NULL;
int cookieoutlen = 0;
char *dconnuri;
@@ -5748,7 +5712,6 @@ remoteDispatchDomainMigratePerform3Params(virNetServerPtr server
G_GNUC_UNUSED,
virTypedParamsFree(params, nparams);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5763,7 +5726,7 @@ remoteDispatchDomainMigrateFinish3Params(virNetServerPtr server
G_GNUC_UNUSED,
{
virTypedParameterPtr params = NULL;
int nparams = 0;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
char *cookieout = NULL;
int cookieoutlen = 0;
int rv = -1;
@@ -5805,7 +5768,6 @@ remoteDispatchDomainMigrateFinish3Params(virNetServerPtr server
G_GNUC_UNUSED,
virNetMessageSaveError(rerr);
VIR_FREE(cookieout);
}
- virObjectUnref(dom);
return rv;
}
@@ -5819,7 +5781,7 @@ remoteDispatchDomainMigrateConfirm3Params(virNetServerPtr server
G_GNUC_UNUSED,
{
virTypedParameterPtr params = NULL;
int nparams = 0;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -5853,7 +5815,6 @@ remoteDispatchDomainMigrateConfirm3Params(virNetServerPtr server
G_GNUC_UNUSED,
virTypedParamsFree(params, nparams);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5916,7 +5877,7 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPtr server
G_GNUC_UNUSED,
remote_domain_create_xml_with_files_ret *ret)
{
int rv = -1;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int *files = NULL;
unsigned int nfiles = 0;
size_t i;
@@ -5948,7 +5909,6 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPtr server
G_GNUC_UNUSED,
VIR_FREE(files);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -5961,7 +5921,7 @@ static int remoteDispatchDomainCreateWithFiles(virNetServerPtr
server G_GNUC_UNU
remote_domain_create_with_files_ret *ret)
{
int rv = -1;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
int *files = NULL;
unsigned int nfiles = 0;
size_t i;
@@ -5996,7 +5956,6 @@ static int remoteDispatchDomainCreateWithFiles(virNetServerPtr
server G_GNUC_UNU
VIR_FREE(files);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -6493,7 +6452,7 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetServerPtr server
G_GNUC_UNUS
daemonClientEventCallbackPtr ref;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
const char *event = args->event ? *args->event : NULL;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -6547,7 +6506,6 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetServerPtr server
G_GNUC_UNUS
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -6606,7 +6564,7 @@ remoteDispatchDomainGetTime(virNetServerPtr server G_GNUC_UNUSED,
remote_domain_get_time_ret *ret)
{
int rv = -1;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
long long seconds;
unsigned int nseconds;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -6627,7 +6585,6 @@ remoteDispatchDomainGetTime(virNetServerPtr server G_GNUC_UNUSED,
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
return rv;
}
@@ -6939,7 +6896,7 @@ remoteDispatchDomainGetFSInfo(virNetServerPtr server G_GNUC_UNUSED,
int rv = -1;
size_t i, j;
virDomainFSInfoPtr *info = NULL;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
remote_domain_fsinfo *dst;
int ninfo = 0;
size_t ndisk;
@@ -7023,7 +6980,6 @@ remoteDispatchDomainGetFSInfo(virNetServerPtr server G_GNUC_UNUSED,
VIR_FREE(ret->info.info_val);
}
}
- virObjectUnref(dom);
if (ninfo >= 0)
for (i = 0; i < ninfo; i++)
virDomainFSInfoFree(info[i]);
@@ -7123,7 +7079,7 @@ remoteDispatchDomainInterfaceAddresses(virNetServerPtr server
G_GNUC_UNUSED,
{
size_t i;
int rv = -1;
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virDomainInterfacePtr *ifaces = NULL;
int ifaces_count = 0;
virConnectPtr conn = remoteGetHypervisorConn(client);
@@ -7146,8 +7102,6 @@ remoteDispatchDomainInterfaceAddresses(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
- virObjectUnref(dom);
-
if (ifaces && ifaces_count > 0) {
for (i = 0; i < ifaces_count; i++)
virDomainInterfaceFree(ifaces[i]);
@@ -7419,7 +7373,7 @@ remoteDispatchDomainGetGuestInfo(virNetServerPtr server
G_GNUC_UNUSED,
{
int rv = -1;
virConnectPtr conn = remoteGetHypervisorConn(client);
- virDomainPtr dom = NULL;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
@@ -7445,7 +7399,6 @@ remoteDispatchDomainGetGuestInfo(virNetServerPtr server
G_GNUC_UNUSED,
if (rv < 0)
virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams);
- virObjectUnref(dom);
return rv;
}
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 58ae7528a8..f00083e0c3 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -4572,7 +4572,7 @@ remoteDomainBuildEventLifecycleHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4580,7 +4580,6 @@ remoteDomainBuildEventLifecycleHelper(virConnectPtr conn,
return;
event = virDomainEventLifecycleNewFromDom(dom, msg->event, msg->detail);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
@@ -4610,7 +4609,7 @@ remoteDomainBuildEventRebootHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4618,7 +4617,6 @@ remoteDomainBuildEventRebootHelper(virConnectPtr conn,
return;
event = virDomainEventRebootNewFromDom(dom);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
@@ -4647,7 +4645,7 @@ remoteDomainBuildEventRTCChangeHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4655,7 +4653,6 @@ remoteDomainBuildEventRTCChangeHelper(virConnectPtr conn,
return;
event = virDomainEventRTCChangeNewFromDom(dom, msg->offset);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
@@ -4684,7 +4681,7 @@ remoteDomainBuildEventWatchdogHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4692,7 +4689,6 @@ remoteDomainBuildEventWatchdogHelper(virConnectPtr conn,
return;
event = virDomainEventWatchdogNewFromDom(dom, msg->action);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
@@ -4721,7 +4717,7 @@ remoteDomainBuildEventIOErrorHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4732,7 +4728,6 @@ remoteDomainBuildEventIOErrorHelper(virConnectPtr conn,
msg->srcPath,
msg->devAlias,
msg->action);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
@@ -4761,7 +4756,7 @@ remoteDomainBuildEventIOErrorReasonHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4774,8 +4769,6 @@ remoteDomainBuildEventIOErrorReasonHelper(virConnectPtr conn,
msg->action,
msg->reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -4803,7 +4796,7 @@ remoteDomainBuildEventBlockJobHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4813,8 +4806,6 @@ remoteDomainBuildEventBlockJobHelper(virConnectPtr conn,
event = virDomainEventBlockJobNewFromDom(dom, msg->path, msg->type,
msg->status);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -4843,7 +4834,7 @@ remoteDomainBuildEventBlockJob2(virNetClientProgramPtr prog
G_GNUC_UNUSED,
virConnectPtr conn = opaque;
remote_domain_event_block_job_2_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4853,8 +4844,6 @@ remoteDomainBuildEventBlockJob2(virNetClientProgramPtr prog
G_GNUC_UNUSED,
event = virDomainEventBlockJob2NewFromDom(dom, msg->dst, msg->type,
msg->status);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -4864,7 +4853,7 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
virDomainEventGraphicsAddressPtr localAddr = NULL;
virDomainEventGraphicsAddressPtr remoteAddr = NULL;
@@ -4904,8 +4893,6 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn,
msg->authScheme,
subject);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
return;
@@ -4928,7 +4915,6 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn,
VIR_FREE(subject->identities);
VIR_FREE(subject);
}
- virObjectUnref(dom);
return;
}
static void
@@ -4956,7 +4942,7 @@ remoteDomainBuildEventControlErrorHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -4965,8 +4951,6 @@ remoteDomainBuildEventControlErrorHelper(virConnectPtr conn,
event = virDomainEventControlErrorNewFromDom(dom);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -4995,7 +4979,7 @@ remoteDomainBuildEventDiskChangeHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5008,8 +4992,6 @@ remoteDomainBuildEventDiskChangeHelper(virConnectPtr conn,
msg->devAlias,
msg->reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -5038,7 +5020,7 @@ remoteDomainBuildEventTrayChangeHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5049,8 +5031,6 @@ remoteDomainBuildEventTrayChangeHelper(virConnectPtr conn,
msg->devAlias,
msg->reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -5079,7 +5059,7 @@ remoteDomainBuildEventPMWakeupHelper(virConnectPtr conn,
int reason)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5088,8 +5068,6 @@ remoteDomainBuildEventPMWakeupHelper(virConnectPtr conn,
event = virDomainEventPMWakeupNewFromDom(dom, reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -5119,7 +5097,7 @@ remoteDomainBuildEventPMSuspendHelper(virConnectPtr conn,
int reason)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5128,8 +5106,6 @@ remoteDomainBuildEventPMSuspendHelper(virConnectPtr conn,
event = virDomainEventPMSuspendNewFromDom(dom, reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -5159,7 +5135,7 @@ remoteDomainBuildEventBalloonChangeHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5167,7 +5143,6 @@ remoteDomainBuildEventBalloonChangeHelper(virConnectPtr conn,
return;
event = virDomainEventBalloonChangeNewFromDom(dom, msg->actual);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
@@ -5198,7 +5173,7 @@ remoteDomainBuildEventPMSuspendDiskHelper(virConnectPtr conn,
int reason)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5207,8 +5182,6 @@ remoteDomainBuildEventPMSuspendDiskHelper(virConnectPtr conn,
event = virDomainEventPMSuspendDiskNewFromDom(dom, reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -5238,7 +5211,7 @@ remoteDomainBuildEventDeviceRemovedHelper(virConnectPtr conn,
int callbackID)
{
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5247,8 +5220,6 @@ remoteDomainBuildEventDeviceRemovedHelper(virConnectPtr conn,
event = virDomainEventDeviceRemovedNewFromDom(dom, msg->devAlias);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, callbackID);
}
static void
@@ -5278,7 +5249,7 @@ remoteDomainBuildEventCallbackDeviceAdded(virNetClientProgramPtr
prog G_GNUC_UNU
virConnectPtr conn = opaque;
remote_domain_event_callback_device_added_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5287,8 +5258,6 @@ remoteDomainBuildEventCallbackDeviceAdded(virNetClientProgramPtr
prog G_GNUC_UNU
event = virDomainEventDeviceAddedNewFromDom(dom, msg->devAlias);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5301,7 +5270,7 @@
remoteDomainBuildEventCallbackDeviceRemovalFailed(virNetClientProgramPtr prog G_
virConnectPtr conn = opaque;
remote_domain_event_callback_device_removal_failed_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
if (!(dom = get_nonnull_domain(conn, msg->dom)))
@@ -5309,8 +5278,6 @@
remoteDomainBuildEventCallbackDeviceRemovalFailed(virNetClientProgramPtr prog G_
event = virDomainEventDeviceRemovalFailedNewFromDom(dom, msg->devAlias);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5322,7 +5289,7 @@ remoteDomainBuildEventCallbackTunable(virNetClientProgramPtr prog
G_GNUC_UNUSED,
virConnectPtr conn = opaque;
remote_domain_event_callback_tunable_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
virObjectEventPtr event = NULL;
@@ -5341,8 +5308,6 @@ remoteDomainBuildEventCallbackTunable(virNetClientProgramPtr prog
G_GNUC_UNUSED,
event = virDomainEventTunableNewFromDom(dom, params, nparams);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5355,7 +5320,7 @@ remoteDomainBuildEventCallbackAgentLifecycle(virNetClientProgramPtr
prog G_GNUC_
virConnectPtr conn = opaque;
remote_domain_event_callback_agent_lifecycle_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
if (!(dom = get_nonnull_domain(conn, msg->dom)))
@@ -5364,8 +5329,6 @@ remoteDomainBuildEventCallbackAgentLifecycle(virNetClientProgramPtr
prog G_GNUC_
event = virDomainEventAgentLifecycleNewFromDom(dom, msg->state,
msg->reason);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5379,7 +5342,7 @@
remoteDomainBuildEventCallbackMigrationIteration(virNetClientProgramPtr prog G_G
virConnectPtr conn = opaque;
remote_domain_event_callback_migration_iteration_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
if (!(dom = get_nonnull_domain(conn, msg->dom)))
@@ -5387,8 +5350,6 @@
remoteDomainBuildEventCallbackMigrationIteration(virNetClientProgramPtr prog G_G
event = virDomainEventMigrationIterationNewFromDom(dom, msg->iteration);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5402,7 +5363,7 @@ remoteDomainBuildEventCallbackJobCompleted(virNetClientProgramPtr
prog G_GNUC_UN
virConnectPtr conn = opaque;
remote_domain_event_callback_job_completed_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
@@ -5420,8 +5381,6 @@ remoteDomainBuildEventCallbackJobCompleted(virNetClientProgramPtr
prog G_GNUC_UN
event = virDomainEventJobCompletedNewFromDom(dom, params, nparams);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5434,7 +5393,7 @@ remoteDomainBuildEventCallbackMetadataChange(virNetClientProgramPtr
prog G_GNUC_
virConnectPtr conn = opaque;
remote_domain_event_callback_metadata_change_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
if (!(dom = get_nonnull_domain(conn, msg->dom)))
@@ -5442,8 +5401,6 @@ remoteDomainBuildEventCallbackMetadataChange(virNetClientProgramPtr
prog G_GNUC_
event = virDomainEventMetadataChangeNewFromDom(dom, msg->type, msg->nsuri ?
*msg->nsuri : NULL);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5600,7 +5557,7 @@ remoteDomainBuildQemuMonitorEvent(virNetClientProgramPtr prog
G_GNUC_UNUSED,
virConnectPtr conn = opaque;
struct private_data *priv = conn->privateData;
qemu_domain_monitor_event_msg *msg = evdata;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
dom = get_nonnull_domain(conn, msg->dom);
@@ -5611,7 +5568,6 @@ remoteDomainBuildQemuMonitorEvent(virNetClientProgramPtr prog
G_GNUC_UNUSED,
msg->event, msg->seconds,
msg->micros,
msg->details ? *msg->details : NULL);
- virObjectUnref(dom);
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -5660,7 +5616,7 @@ remoteDomainBuildEventBlockThreshold(virNetClientProgramPtr prog
G_GNUC_UNUSED,
virConnectPtr conn = opaque;
remote_domain_event_block_threshold_msg *msg = evdata;
struct private_data *priv = conn->privateData;
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virObjectEventPtr event = NULL;
if (!(dom = get_nonnull_domain(conn, msg->dom)))
@@ -5670,8 +5626,6 @@ remoteDomainBuildEventBlockThreshold(virNetClientProgramPtr prog
G_GNUC_UNUSED,
msg->path ? *msg->path : NULL,
msg->threshold, msg->excess);
- virObjectUnref(dom);
-
virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackID);
}
@@ -7779,7 +7733,7 @@ remoteConnectGetAllDomainStats(virConnectPtr conn,
cleanup:
if (elem) {
- virObjectUnref(elem->dom);
+ g_clear_object(&elem->dom);
VIR_FREE(elem);
}
virDomainStatsRecordListFree(tmpret);
diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl
index 29b3feb17c..8c45fa3bc7 100755
--- a/src/rpc/gendispatch.pl
+++ b/src/rpc/gendispatch.pl
@@ -196,6 +196,7 @@ sub get_conn_method {
my %gobject_impl = (
virAdmClient => 1,
virAdmServer => 1,
+ virDomain => 1,
virDomainCheckpoint => 1,
virDomainSnapshot => 1,
virInterface => 1,
@@ -626,7 +627,7 @@ elsif ($mode eq "server") {
my $type_name = name_to_TypeName($1);
my $unref_impl =
get_unref_method("virDomain${type_name}");
- push(@vars_list, "virDomainPtr dom = NULL");
+ push(@vars_list, "g_autoptr(virDomain) dom = NULL");
push(@vars_list, "virDomain${type_name}Ptr ${1} = NULL");
push(@getters_list,
" if (!(dom = get_nonnull_domain($conn_var,
args->${2}.dom)))\n" .
@@ -637,8 +638,7 @@ elsif ($mode eq "server") {
push(@args_list, "$1");
push(@free_list,
" if ($1)\n" .
- " $unref_impl($1);\n" .
- " virObjectUnref(dom);");
+ " $unref_impl($1);\n");
} elsif ($args_member =~ m/^(?:(?:admin|remote)_string|remote_uuid)
(\S+)<\S+>;/) {
push(@args_list, $conn_var) if !@args_list;
push(@args_list, "args->$1.$1_val");
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index 7ca314d0dc..ef0bf8b5bd 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -2287,7 +2287,7 @@ static virDomainPtr vboxDomainCreateXML(virConnectPtr conn, const
char *xml,
* change this behaviour to the expected one.
*/
- virDomainPtr dom;
+ g_autoptr(virDomain) dom = NULL;
virCheckFlags(0, NULL);
@@ -2297,11 +2297,10 @@ static virDomainPtr vboxDomainCreateXML(virConnectPtr conn, const
char *xml,
if (vboxDomainCreate(dom) < 0) {
vboxDomainUndefineFlags(dom, 0);
- virObjectUnref(dom);
return NULL;
}
- return dom;
+ return g_steal_pointer(&dom);
}
static int vboxDomainIsActive(virDomainPtr dom)
@@ -7618,11 +7617,7 @@ vboxConnectListAllDomains(virConnectPtr conn,
ret = count;
cleanup:
- if (doms) {
- for (i = 0; i < count; i++)
- virObjectUnref(doms[i]);
- }
- VIR_FREE(doms);
+ virGObjectListFreeCount(doms, count);
gVBoxAPI.UArray.vboxArrayRelease(&machines);
return ret;
diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index 4fe072233e..64383889a2 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -3146,7 +3146,7 @@ vzDomainMigratePerformP2P(virDomainObjPtr dom,
int nparams,
unsigned int flags)
{
- virDomainPtr ddomain = NULL;
+ g_autoptr(virDomain) ddomain = NULL;
char *uri = NULL;
char *cookiein = NULL;
char *cookieout = NULL;
@@ -3222,7 +3222,6 @@ vzDomainMigratePerformP2P(virDomainObjPtr dom,
virObjectLock(dom);
if (ddomain)
ret = 0;
- virObjectUnref(ddomain);
/* confirm step is NOOP thus no need to call it */
@@ -3735,7 +3734,7 @@ vzDomainGetAllStats(virConnectPtr conn,
error:
virTypedParamsFree(stat->params, stat->nparams);
- virObjectUnref(stat->dom);
+ g_clear_object(&stat->dom);
VIR_FREE(stat);
return NULL;
}
--
2.25.3