From nobody Mon Feb 9 05:41:17 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1589371150; cv=none; d=zohomail.com; s=zohoarc; b=J+d9tEmsoK8o4kasqB+k2DZsXYIfSXHdfc51SjXR6sx2turhkGXOsI7n0wwkwgTcst+BqBcmC+fNWjYNJ6zemR9RqXCbj3CZXKcX1PCrgMymksMY7/+3NTcK7FvYBbRZSJxFKBuL9jeTm658Yn6L8aQKwJXvZLZh0r6/wetBGZs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1589371150; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7qtW4+vNdMmxPlMRM1jW5xUmR+V72PRXVjoGgZETYJk=; b=OBzb2cyZ0Y/6jw+7TSUcEow8a0YBCxG/20a3KA4Q6awPp/sOeBI4vvna+UHcll6S125tC6lXREN6sSEMEUZkYPfnvmRD3NSrNOJBEtOX4KIMI5LESeKO1ZtEOtSmrjDyeyTLCKLdg5aIpJvMuR1yYoipygIYGUM4cVm2bMzX9sQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1589371150462726.9450406393111; Wed, 13 May 2020 04:59:10 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-98-GVzvG5yDNSakNUjrbufj5A-1; Wed, 13 May 2020 07:59:06 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BB02384638F; Wed, 13 May 2020 11:58:59 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9ACB15C1D3; Wed, 13 May 2020 11:58:59 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 6456B1805319; Wed, 13 May 2020 11:58:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 04DBwtHI016319 for ; Wed, 13 May 2020 07:58:55 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7434B110EB4; Wed, 13 May 2020 11:58:55 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast04.extmail.prod.ext.rdu2.redhat.com [10.11.55.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6C6DB5EDD7 for ; Wed, 13 May 2020 11:58:52 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5F17C1019CAF for ; Wed, 13 May 2020 11:58:52 +0000 (UTC) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-97-uOZ59J2aM9WDzZ_ZQs4GWQ-1; Wed, 13 May 2020 07:58:50 -0400 Received: by mail-wr1-f65.google.com with SMTP id w7so20551908wre.13 for ; Wed, 13 May 2020 04:58:49 -0700 (PDT) Received: from localhost.localdomain (public-gprs367127.centertel.pl. [37.47.65.88]) by smtp.gmail.com with ESMTPSA id l1sm27838422wrc.24.2020.05.13.04.58.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2020 04:58:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1589371148; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=7qtW4+vNdMmxPlMRM1jW5xUmR+V72PRXVjoGgZETYJk=; b=FpzQwbhp3npzd5B1iDLm4neAHIEhJT7uSqi/MZ8W1IxukEhKSFtp9Bs6Ss59m8ud3kjP9C 1l7uYtfX+tiBKiGFHI2k0i3/dma6CnM6y9r5lqbDMl7SC2+S5yTHNVMjIggKpXWlnOiy4v MW4pZI6PcJmHcyIOo8dVX85F6b8tOAw= X-MC-Unique: GVzvG5yDNSakNUjrbufj5A-1 X-MC-Unique: uOZ59J2aM9WDzZ_ZQs4GWQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7qtW4+vNdMmxPlMRM1jW5xUmR+V72PRXVjoGgZETYJk=; b=CNXgJ6AKvBavsaaqnDYsGeWbHIr6IZhJ+1hyTvIdJgGWeYjfcLdK/+OeBZSsbPl9cx AzvpqHBFQGjh+gYe/dqtKrEpJIppHDq3PPwmVzJXp/2XMhwldvWtLx5bHCoyDJ+xO+Jn d8Mr1/X4HzPWg728907MgcsgI1/yq2AA383fLXYfLvATK7qJZC3jdzIr9YVpsqVvtchb xK0E/9X9Sir2a9mb+tWKNfkVx/FlSJ2Ofn0T5YqGA3NwW/8AlFxG60zx7FC9WD1bO4ej b+BUL7PNwVmcKg1PlPdFnyK+G5iCUU1U5aL0ff0/6JwDDCYFAi09OaKP3R7x6gngYyjA OEvw== X-Gm-Message-State: AGi0PuZZf6SN6/TnmnKYPCjLLse+9Z6yc4vtcP9XxOPg5z+nC2oU8jdd du6164am2tuMAjr37ZHC4wn0S/88 X-Google-Smtp-Source: APiQypIro2xhFHlWHNpfRfWbjhWJu50vRvWSPpr9MosZOFk13jbhmt39MY250AbT1XWSKVr266Wnxg== X-Received: by 2002:a05:6000:1ca:: with SMTP id t10mr30462917wrx.230.1589371126959; Wed, 13 May 2020 04:58:46 -0700 (PDT) From: Rafael Fonseca To: libvirt-list@redhat.com Subject: [PATCH 29/40] datatypes: convert virDomain to GObject Date: Wed, 13 May 2020 13:57:13 +0200 Message-Id: <20200513115724.157687-30-r4f4rfs@gmail.com> In-Reply-To: <20200513115724.157687-1-r4f4rfs@gmail.com> References: <20200513115724.157687-1-r4f4rfs@gmail.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Rafael Fonseca X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Rafael Fonseca --- src/conf/domain_event.c | 58 ++++++------ src/datatypes.c | 50 ++++++---- 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, 161 insertions(+), 271 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 =3D virGetDomain(conn, event->meta.name, - event->meta.uuid, event->meta.id); + g_autoptr(virDomain) dom =3D virGetDomain(conn, event->meta.name, + event->meta.uuid, event->meta.= id); =20 if (!dom) return; @@ -1641,13 +1641,13 @@ virDomainEventDispatchDefaultFunc(virConnectPtr con= n, lifecycleEvent->type, lifecycleEvent->detail, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_REBOOT: (cb)(conn, dom, cbopaque); - goto cleanup; + return; =20 case VIR_DOMAIN_EVENT_ID_RTC_CHANGE: { @@ -1657,7 +1657,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventRTCChangeCallback)cb)(conn, dom, rtcChangeEvent->o= ffset, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_WATCHDOG: @@ -1668,7 +1668,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventWatchdogCallback)cb)(conn, dom, watchdogEvent->act= ion, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_IO_ERROR: @@ -1681,7 +1681,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ioErrorEvent->devAl= ias, ioErrorEvent->actio= n, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON: @@ -1695,7 +1695,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ioErrorEvent-= >action, ioErrorEvent-= >reason, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_GRAPHICS: @@ -1710,13 +1710,13 @@ virDomainEventDispatchDefaultFunc(virConnectPtr con= n, graphicsEvent->aut= hScheme, graphicsEvent->sub= ject, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_CONTROL_ERROR: (cb)(conn, dom, cbopaque); - goto cleanup; + return; =20 case VIR_DOMAIN_EVENT_ID_BLOCK_JOB: case VIR_DOMAIN_EVENT_ID_BLOCK_JOB_2: @@ -1729,7 +1729,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, blockJobEvent->typ= e, blockJobEvent->sta= tus, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_DISK_CHANGE: @@ -1743,7 +1743,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, diskChangeEvent-= >devAlias, diskChangeEvent-= >reason, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_TRAY_CHANGE: @@ -1755,7 +1755,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, trayChangeEvent-= >devAlias, trayChangeEvent-= >reason, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_PMWAKEUP: @@ -1765,7 +1765,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventPMWakeupCallback)cb)(conn, dom, pmEvent->reason, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_PMSUSPEND: @@ -1775,7 +1775,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventPMSuspendCallback)cb)(conn, dom, pmEvent->reason, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE: @@ -1786,7 +1786,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventBalloonChangeCallback)cb)(conn, dom, balloonChange= Event->actual, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_PMSUSPEND_DISK: @@ -1796,7 +1796,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventPMSuspendDiskCallback)cb)(conn, dom, pmEvent->reas= on, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED: @@ -1807,7 +1807,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventDeviceRemovedCallback)cb)(conn, dom, deviceRemoved= Event->devAlias, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_TUNABLE: @@ -1818,7 +1818,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, tunableEvent->param= s, tunableEvent->npara= ms, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE: @@ -1829,7 +1829,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, agentLifecyc= leEvent->state, agentLifecyc= leEvent->reason, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_DEVICE_ADDED: @@ -1840,7 +1840,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventDeviceAddedCallback)cb)(conn, dom, deviceAddedEven= t->devAlias, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_MIGRATION_ITERATION: @@ -1851,7 +1851,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventMigrationIterationCallback)cb)(conn, do= m, ev->iter= ation, cbopaque= ); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_JOB_COMPLETED: @@ -1863,7 +1863,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ev->params, ev->nparams, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_DEVICE_REMOVAL_FAILED: @@ -1874,7 +1874,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, ((virConnectDomainEventDeviceRemovalFailedCallback)cb)(conn, d= om, deviceR= emovalFailedEvent->devAlias, cbopaqu= e); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_METADATA_CHANGE: @@ -1886,7 +1886,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, metadataChan= geEvent->type, metadataChan= geEvent->nsuri, cbopaque); - goto cleanup; + return; } =20 case VIR_DOMAIN_EVENT_ID_BLOCK_THRESHOLD: @@ -1900,16 +1900,13 @@ virDomainEventDispatchDefaultFunc(virConnectPtr con= n, blockThresho= ldEvent->threshold, blockThresho= ldEvent->excess, cbopaque); - goto cleanup; + return; } case VIR_DOMAIN_EVENT_ID_LAST: break; } =20 VIR_WARN("Unexpected event ID %d", event->eventID); - - cleanup: - virObjectUnref(dom); } =20 =20 @@ -1963,7 +1960,7 @@ virDomainQemuMonitorEventDispatchFunc(virConnectPtr c= onn, virConnectObjectEventGenericCallback= cb, void *cbopaque) { - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virDomainQemuMonitorEventPtr qemuMonitorEvent; virDomainQemuMonitorEventData *data =3D cbopaque; =20 @@ -1978,7 +1975,6 @@ virDomainQemuMonitorEventDispatchFunc(virConnectPtr c= onn, qemuMonitorEvent->micro= s, qemuMonitorEvent->detai= ls, data->opaque); - virObjectUnref(dom); } =20 =20 diff --git a/src/datatypes.c b/src/datatypes.c index 1c8eff9685..0af5c326a1 100644 --- a/src/datatypes.c +++ b/src/datatypes.c @@ -35,11 +35,25 @@ VIR_LOG_INIT("datatypes"); =20 virClassPtr virConnectClass; virClassPtr virConnectCloseCallbackDataClass; -virClassPtr virDomainClass; =20 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 virDomainFinalize(GObject *obj); + +static void +vir_domain_init(virDomain *dom G_GNUC_UNUSED) +{ +} + +static void +vir_domain_class_init(virDomainClass *klass) +{ + GObjectClass *obj =3D G_OBJECT_CLASS(klass); + + obj->finalize =3D virDomainFinalize; +} =20 G_DEFINE_TYPE(virDomainCheckpoint, vir_domain_checkpoint, G_TYPE_OBJECT); static void virDomainCheckpointFinalize(GObject *obj); @@ -284,7 +298,6 @@ virDataTypesOnceInit(void) =20 DECLARE_CLASS_LOCKABLE(virConnect); DECLARE_CLASS_LOCKABLE(virConnectCloseCallbackData); - DECLARE_CLASS(virDomain); =20 DECLARE_CLASS_LOCKABLE(virAdmConnect); DECLARE_CLASS_LOCKABLE(virAdmConnectCloseCallbackData); @@ -449,7 +462,7 @@ virConnectCloseCallbackDataGetCallback(virConnectCloseC= allbackDataPtr 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. */ @@ -459,17 +472,16 @@ virGetDomain(virConnectPtr conn, const unsigned char *uuid, int id) { - virDomainPtr ret =3D NULL; + g_autoptr(virDomain) ret =3D NULL; =20 if (virDataTypesInitialize() < 0) return NULL; =20 - virCheckConnectGoto(conn, error); - virCheckNonNullArgGoto(name, error); - virCheckNonNullArgGoto(uuid, error); + virCheckConnectReturn(conn, NULL); + virCheckNonNullArgReturn(name, NULL); + virCheckNonNullArgReturn(uuid, NULL); =20 - if (!(ret =3D virObjectNew(virDomainClass))) - goto error; + ret =3D VIR_DOMAIN(g_object_new(VIR_TYPE_DOMAIN, NULL)); =20 ret->name =3D g_strdup(name); =20 @@ -477,15 +489,11 @@ virGetDomain(virConnectPtr conn, ret->id =3D id; memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN); =20 - return ret; - - error: - virObjectUnref(ret); - return NULL; + return g_steal_pointer(&ret); } =20 /** - * virDomainDispose: + * virDomainFinalize: * @obj: the domain to release * * Unconditionally release all memory associated with a domain. @@ -495,9 +503,9 @@ virGetDomain(virConnectPtr conn, * which may also be released if its ref count hits zero. */ static void -virDomainDispose(void *obj) +virDomainFinalize(GObject *obj) { - virDomainPtr domain =3D obj; + virDomainPtr domain =3D VIR_DOMAIN(obj); char uuidstr[VIR_UUID_STRING_BUFLEN]; =20 virUUIDFormat(domain->uuid, uuidstr); @@ -505,6 +513,8 @@ virDomainDispose(void *obj) =20 VIR_FREE(domain->name); virObjectUnref(domain->conn); + + G_OBJECT_CLASS(vir_domain_parent_class)->finalize(obj); } =20 =20 @@ -1133,7 +1143,7 @@ virGetDomainCheckpoint(virDomainPtr domain, ret =3D VIR_DOMAIN_CHECKPOINT(g_object_new(VIR_TYPE_DOMAIN_CHECKPOINT,= NULL)); ret->name =3D g_strdup(name); =20 - ret->domain =3D virObjectRef(domain); + ret->domain =3D g_object_ref(domain); =20 return g_steal_pointer(&ret); } @@ -1186,7 +1196,7 @@ virGetDomainSnapshot(virDomainPtr domain, const char = *name) ret =3D VIR_DOMAIN_SNAPSHOT(g_object_new(VIR_TYPE_DOMAIN_SNAPSHOT, NUL= L)); ret->name =3D g_strdup(name); =20 - ret->domain =3D virObjectRef(domain); + ret->domain =3D g_object_ref(domain); =20 return g_steal_pointer(&ret); } 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 =20 extern virClassPtr virConnectClass; -extern virClassPtr virDomainClass; + +#define VIR_TYPE_DOMAIN vir_domain_get_type() +G_DECLARE_FINAL_TYPE(virDomain, vir_domain, VIR, DOMAIN, GObject); =20 #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); =20 #define virCheckDomainReturn(obj, retval) \ do { \ - virDomainPtr _dom =3D (obj); \ - if (!virObjectIsClass(_dom, virDomainClass) || \ + virDomainPtr _dom =3D VIR_DOMAIN(obj); \ + if (_dom =3D=3D 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 =3D (obj); \ - if (!virObjectIsClass(_dom, virDomainClass) || \ + virDomainPtr _dom =3D VIR_DOMAIN(obj); \ + if (_dom =3D=3D 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 =3D VIR_DOMAIN_CHECKPOINT(obj); \ if (_check =3D=3D 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 =3D (obj); \ if (_snap =3D=3D 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 =3D 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 =3D count; =20 cleanup: - if (doms) { - for (id =3D 0; id < count; id++) - virObjectUnref(doms[id]); - - VIR_FREE(doms); - } + virGObjectListFreeCount(doms, count); =20 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 =3D NULL; int count =3D 0; int ret =3D -1; - size_t i; =20 virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1); =20 @@ -1308,12 +1307,7 @@ hypervConnectListAllDomains(virConnectPtr conn, ret =3D count; =20 cleanup: - if (doms) { - for (i =3D 0; i < count; ++i) - virObjectUnref(doms[i]); - - VIR_FREE(doms); - } + virGObjectListFreeCount(doms, count); =20 hypervFreeObject(priv, (hypervObject *)computerSystemList); =20 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) =20 virCheckDomainReturn(domain, -1); =20 - virObjectUnref(domain); + g_clear_object(&domain); return 0; } =20 @@ -590,13 +590,13 @@ virDomainFree(virDomainPtr domain) int virDomainRef(virDomainPtr domain) { - VIR_DOMAIN_DEBUG(domain, "refs=3D%d", domain ? domain->parent.u.s.refs= : 0); + VIR_DOMAIN_DEBUG(domain); =20 virResetLastError(); =20 virCheckDomainReturn(domain, -1); =20 - virObjectRef(domain); + g_object_ref(domain); return 0; } =20 diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index fc3fe83b14..14dace4628 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1357,6 +1357,7 @@ virCPUx86FeatureFilterSelectMSR; =20 # datatypes.h vir_domain_checkpoint_get_type; +vir_domain_get_type; vir_domain_snapshot_get_type; vir_interface_get_type; vir_network_get_type; @@ -1374,7 +1375,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 =3D NULL; + g_autoptr(virDomain) ddomain =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; int maxparams =3D 0; @@ -1113,7 +1113,6 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver, } =20 if (ddomain) { - virObjectUnref(ddomain); ret =3D 0; } else { ret =3D -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" =20 static int getArgs(int argc, @@ -52,7 +52,7 @@ main(int argc, char **argv) virDomainLockFailureAction action; char *xml =3D NULL; virConnectPtr conn =3D NULL; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int ret =3D EXIT_FAILURE; =20 int authTypes[] =3D { @@ -99,7 +99,6 @@ main(int argc, char **argv) } =20 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 7a9fdfa453..e6874491e6 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1089,11 +1089,7 @@ qemuStateStop(void) ret =3D -1; =20 cleanup: - if (domains) { - for (i =3D 0; i < numDomains; i++) - virObjectUnref(domains[i]); - VIR_FREE(domains); - } + virGObjectListFreeCount(domains, numDomains); =20 return ret; } diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 1f5afbe0a4..26e8d067ea 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -3991,7 +3991,7 @@ qemuMigrationSrcPerformPeer2Peer2(virQEMUDriverPtr dr= iver, unsigned long resource, qemuMigrationParamsPtr migParams) { - virDomainPtr ddomain =3D NULL; + g_autoptr(virDomain) ddomain =3D NULL; char *uri_out =3D NULL; char *cookie =3D NULL; char *dom_xml =3D NULL; @@ -4101,7 +4101,6 @@ qemuMigrationSrcPerformPeer2Peer2(virQEMUDriverPtr dr= iver, =20 cleanup: if (ddomain) { - virObjectUnref(ddomain); ret =3D 0; } else { ret =3D -1; @@ -4140,7 +4139,7 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr dr= iver, bool useParams, unsigned long flags) { - virDomainPtr ddomain =3D NULL; + g_autoptr(virDomain) ddomain =3D NULL; char *uri_out =3D NULL; char *cookiein =3D NULL; char *cookieout =3D NULL; @@ -4437,7 +4436,6 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr dr= iver, =20 cleanup: if (ddomain) { - virObjectUnref(ddomain); ret =3D 0; } else { ret =3D -1; diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon= _dispatch.c index 70c1dd3cbb..6b0c01bdcb 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 =3D NULL; + g_autoptr(virDomain) dom =3D NULL; char *type; int nparams; int rv =3D -1; @@ -2286,7 +2286,6 @@ remoteDispatchDomainGetSchedulerType(virNetServerPtr = server G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -2298,7 +2297,7 @@ remoteDispatchDomainGetSchedulerParameters(virNetServ= erPtr server G_GNUC_UNUSED, remote_domain_get_scheduler_par= ameters_args *args, remote_domain_get_scheduler_par= ameters_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; int rv =3D -1; @@ -2334,7 +2333,6 @@ remoteDispatchDomainGetSchedulerParameters(virNetServ= erPtr server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -2346,7 +2344,7 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNe= tServerPtr server G_GNUC_UN remote_domain_get_schedule= r_parameters_flags_args *args, remote_domain_get_schedule= r_parameters_flags_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; int rv =3D -1; @@ -2383,7 +2381,6 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNe= tServerPtr server G_GNUC_UN if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -2395,7 +2392,7 @@ remoteDispatchDomainMemoryStats(virNetServerPtr serve= r G_GNUC_UNUSED, remote_domain_memory_stats_args *args, remote_domain_memory_stats_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virDomainMemoryStatPtr stats =3D NULL; int nr_stats; size_t i; @@ -2437,7 +2434,6 @@ remoteDispatchDomainMemoryStats(virNetServerPtr serve= r 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 =3D NULL; + g_autoptr(virDomain) dom =3D 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; } =20 @@ -2502,7 +2497,7 @@ remoteDispatchDomainBlockStatsFlags(virNetServerPtr s= erver G_GNUC_UNUSED, remote_domain_block_stats_flags_ret *r= et) { virTypedParameterPtr params =3D NULL; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; const char *path =3D args->path; int nparams =3D 0; unsigned int flags; @@ -2550,7 +2545,6 @@ remoteDispatchDomainBlockStatsFlags(virNetServerPtr s= erver G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -2562,7 +2556,7 @@ remoteDispatchDomainMemoryPeek(virNetServerPtr server= G_GNUC_UNUSED, remote_domain_memory_peek_args *args, remote_domain_memory_peek_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D 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; } =20 @@ -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 =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virSecurityLabelPtr seclabel =3D NULL; int rv =3D -1; virConnectPtr conn =3D 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(virNetServer= Ptr server G_GNUC_UNUSED, remote_domain_get_security_label_= list_args *args, remote_domain_get_security_label_= list_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virSecurityLabelPtr seclabels =3D NULL; int len, rv =3D -1; size_t i; @@ -2689,7 +2681,6 @@ remoteDispatchDomainGetSecurityLabelList(virNetServer= Ptr server G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); VIR_FREE(seclabels); return rv; } @@ -2738,7 +2729,7 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServerPtr se= rver G_GNUC_UNUSED, remote_domain_get_vcpu_pin_info_args *a= rgs, remote_domain_get_vcpu_pin_info_ret *re= t) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; unsigned char *cpumaps =3D NULL; int num; int rv =3D -1; @@ -2788,7 +2779,6 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServerPtr se= rver G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); VIR_FREE(cpumaps); - virObjectUnref(dom); return rv; } =20 @@ -2800,7 +2790,7 @@ remoteDispatchDomainPinEmulator(virNetServerPtr serve= r G_GNUC_UNUSED, remote_domain_pin_emulator_args *args) { int rv =3D -1; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 if (!conn) @@ -2820,7 +2810,6 @@ remoteDispatchDomainPinEmulator(virNetServerPtr serve= r G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -2833,7 +2822,7 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServerPt= r server G_GNUC_UNUSED, remote_domain_get_emulator_pin_info= _args *args, remote_domain_get_emulator_pin_info= _ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; unsigned char *cpumaps =3D NULL; int r; int rv =3D -1; @@ -2867,7 +2856,6 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServerPt= r server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); VIR_FREE(cpumaps); - virObjectUnref(dom); return rv; } =20 @@ -2879,7 +2867,7 @@ remoteDispatchDomainGetVcpus(virNetServerPtr server G= _GNUC_UNUSED, remote_domain_get_vcpus_args *args, remote_domain_get_vcpus_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virVcpuInfoPtr info =3D NULL; unsigned char *cpumaps =3D NULL; int info_len; @@ -2945,7 +2933,6 @@ remoteDispatchDomainGetVcpus(virNetServerPtr server G= _GNUC_UNUSED, } VIR_FREE(cpumaps); VIR_FREE(info); - virObjectUnref(dom); return rv; } =20 @@ -2960,7 +2947,7 @@ remoteDispatchDomainGetIOThreadInfo(virNetServerPtr s= erver G_GNUC_UNUSED, int rv =3D -1; size_t i; virDomainIOThreadInfoPtr *info =3D NULL; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; remote_domain_iothread_info *dst; int ninfo =3D 0; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -3010,7 +2997,6 @@ remoteDispatchDomainGetIOThreadInfo(virNetServerPtr s= erver G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); if (ninfo >=3D 0) for (i =3D 0; i < ninfo; i++) virDomainIOThreadInfoFree(info[i]); @@ -3128,7 +3114,7 @@ remoteDispatchDomainGetMemoryParameters(virNetServerP= tr server G_GNUC_UNUSED, remote_domain_get_memory_parameter= s_args *args, remote_domain_get_memory_parameter= s_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; unsigned int flags; @@ -3176,7 +3162,6 @@ remoteDispatchDomainGetMemoryParameters(virNetServerP= tr server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -3188,7 +3173,7 @@ remoteDispatchDomainGetNumaParameters(virNetServerPtr= server G_GNUC_UNUSED, remote_domain_get_numa_parameters_ar= gs *args, remote_domain_get_numa_parameters_re= t *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 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; } =20 @@ -3248,7 +3232,7 @@ remoteDispatchDomainGetBlkioParameters(virNetServerPt= r server G_GNUC_UNUSED, remote_domain_get_blkio_parameters_= args *args, remote_domain_get_blkio_parameters_= ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; unsigned int flags; @@ -3296,7 +3280,6 @@ remoteDispatchDomainGetBlkioParameters(virNetServerPt= r server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -3444,7 +3427,7 @@ remoteDispatchDomainGetLaunchSecurityInfo(virNetServe= rPtr server G_GNUC_UNUSED, remote_domain_get_launch_securit= y_info_args *args, remote_domain_get_launch_securit= y_info_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; int rv =3D -1; @@ -3472,7 +3455,6 @@ remoteDispatchDomainGetLaunchSecurityInfo(virNetServe= rPtr server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -3484,7 +3466,7 @@ remoteDispatchDomainGetPerfEvents(virNetServerPtr ser= ver G_GNUC_UNUSED, remote_domain_get_perf_events_args *args, remote_domain_get_perf_events_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; int rv =3D -1; @@ -3512,7 +3494,6 @@ remoteDispatchDomainGetPerfEvents(virNetServerPtr ser= ver G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -3524,7 +3505,7 @@ remoteDispatchDomainGetBlockJobInfo(virNetServerPtr s= erver G_GNUC_UNUSED, remote_domain_get_block_job_info_args = *args, remote_domain_get_block_job_info_ret *= ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virDomainBlockJobInfo tmp; int rv =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -3549,7 +3530,6 @@ remoteDispatchDomainGetBlockJobInfo(virNetServerPtr s= erver G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -3561,7 +3541,7 @@ remoteDispatchDomainGetBlockIoTune(virNetServerPtr se= rver G_GNUC_UNUSED, remote_domain_get_block_io_tune_args *a= rgs, remote_domain_get_block_io_tune_ret *re= t) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; virTypedParameterPtr params =3D NULL; int nparams =3D 0; @@ -3609,7 +3589,6 @@ remoteDispatchDomainGetBlockIoTune(virNetServerPtr se= rver G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -4416,7 +4395,7 @@ remoteDispatchDomainGetState(virNetServerPtr server G= _GNUC_UNUSED, remote_domain_get_state_args *args, remote_domain_get_state_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 @@ -4434,7 +4413,6 @@ remoteDispatchDomainGetState(virNetServerPtr server G= _GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -4532,7 +4510,7 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(v= irNetServerPtr server G_GNU daemonClientEventCallbackPtr ref; struct daemonClientPrivate *priv =3D virNetServerClientGetPrivateData(client); - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 virMutexLock(&priv->lock); @@ -4590,7 +4568,6 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(v= irNetServerPtr server G_GNU remoteEventCallbackFree(callback); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -4705,7 +4682,7 @@ qemuDispatchDomainMonitorCommand(virNetServerPtr serv= er G_GNUC_UNUSED, qemu_domain_monitor_command_args *args, qemu_domain_monitor_command_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 @@ -4724,7 +4701,6 @@ qemuDispatchDomainMonitorCommand(virNetServerPtr serv= er G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -4738,7 +4714,7 @@ remoteDispatchDomainMigrateBegin3(virNetServerPtr ser= ver G_GNUC_UNUSED, remote_domain_migrate_begin3_ret *ret) { char *xml =3D NULL; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; char *dname; char *xmlin; char *cookieout =3D NULL; @@ -4772,7 +4748,6 @@ remoteDispatchDomainMigrateBegin3(virNetServerPtr ser= ver G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -4838,7 +4813,7 @@ remoteDispatchDomainMigratePerform3(virNetServerPtr s= erver G_GNUC_UNUSED, remote_domain_migrate_perform3_args *a= rgs, remote_domain_migrate_perform3_ret *re= t) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; char *xmlin; char *dname; char *uri; @@ -4877,7 +4852,6 @@ remoteDispatchDomainMigratePerform3(virNetServerPtr s= erver G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -4890,7 +4864,7 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr se= rver G_GNUC_UNUSED, remote_domain_migrate_finish3_args *arg= s, remote_domain_migrate_finish3_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; char *cookieout =3D NULL; int cookieoutlen =3D 0; char *uri; @@ -4927,7 +4901,6 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr se= rver G_GNUC_UNUSED, virNetMessageSaveError(rerr); VIR_FREE(cookieout); } - virObjectUnref(dom); return rv; } =20 @@ -4939,7 +4912,7 @@ remoteDispatchDomainMigrateConfirm3(virNetServerPtr s= erver G_GNUC_UNUSED, virNetMessageErrorPtr rerr, remote_domain_migrate_confirm3_args *a= rgs) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 @@ -4960,7 +4933,6 @@ remoteDispatchDomainMigrateConfirm3(virNetServerPtr s= erver G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5035,7 +5007,7 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr serv= er G_GNUC_UNUSED, virNetMessageErrorPtr rerr, remote_domain_open_graphics_args *args) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; int fd =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -5061,7 +5033,6 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr serv= er G_GNUC_UNUSED, VIR_FORCE_CLOSE(fd); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5073,7 +5044,7 @@ remoteDispatchDomainOpenGraphicsFd(virNetServerPtr se= rver G_GNUC_UNUSED, virNetMessageErrorPtr rerr, remote_domain_open_graphics_fd_args *ar= gs) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; int fd =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -5101,7 +5072,6 @@ remoteDispatchDomainOpenGraphicsFd(virNetServerPtr se= rver G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); =20 - virObjectUnref(dom); return rv; } =20 @@ -5114,7 +5084,7 @@ remoteDispatchDomainGetInterfaceParameters(virNetServ= erPtr server G_GNUC_UNUSED, remote_domain_get_interface_par= ameters_args *args, remote_domain_get_interface_par= ameters_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; const char *device =3D args->device; int nparams =3D 0; @@ -5163,7 +5133,6 @@ remoteDispatchDomainGetInterfaceParameters(virNetServ= erPtr server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -5175,7 +5144,7 @@ remoteDispatchDomainGetCPUStats(virNetServerPtr serve= r G_GNUC_UNUSED, remote_domain_get_cpu_stats_args *args, remote_domain_get_cpu_stats_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int rv =3D -1; int percpu_len =3D 0; @@ -5232,7 +5201,6 @@ remoteDispatchDomainGetCPUStats(virNetServerPtr serve= r G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, args->ncpus * args->nparams); - virObjectUnref(dom); return rv; } =20 @@ -5245,7 +5213,7 @@ remoteDispatchDomainGetDiskErrors(virNetServerPtr ser= ver G_GNUC_UNUSED, remote_domain_get_disk_errors_ret *ret) { int rv =3D -1; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virDomainDiskErrorPtr errors =3D NULL; int len =3D 0; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -5283,7 +5251,6 @@ remoteDispatchDomainGetDiskErrors(virNetServerPtr ser= ver G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); if (errors && len > 0) { size_t i; for (i =3D 0; i < len; i++) @@ -5439,7 +5406,7 @@ lxcDispatchDomainOpenNamespace(virNetServerPtr server= G_GNUC_UNUSED, int rv =3D -1; int *fdlist =3D NULL; int ret; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; size_t i; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 @@ -5472,7 +5439,6 @@ lxcDispatchDomainOpenNamespace(virNetServerPtr server= G_GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5484,7 +5450,7 @@ remoteDispatchDomainGetJobStats(virNetServerPtr serve= r G_GNUC_UNUSED, remote_domain_get_job_stats_args *args, remote_domain_get_job_stats_ret *ret) { - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; int rv =3D -1; @@ -5513,7 +5479,6 @@ remoteDispatchDomainGetJobStats(virNetServerPtr serve= r G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); return rv; } =20 @@ -5526,7 +5491,7 @@ remoteDispatchDomainMigrateBegin3Params(virNetServerP= tr server G_GNUC_UNUSED, remote_domain_migrate_begin3_param= s_ret *ret) { char *xml =3D NULL; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; char *cookieout =3D NULL; @@ -5567,7 +5532,6 @@ remoteDispatchDomainMigrateBegin3Params(virNetServerP= tr server G_GNUC_UNUSED, virTypedParamsFree(params, nparams); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5705,7 +5669,7 @@ remoteDispatchDomainMigratePerform3Params(virNetServe= rPtr server G_GNUC_UNUSED, { virTypedParameterPtr params =3D NULL; int nparams =3D 0; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; char *cookieout =3D NULL; int cookieoutlen =3D 0; char *dconnuri; @@ -5748,7 +5712,6 @@ remoteDispatchDomainMigratePerform3Params(virNetServe= rPtr server G_GNUC_UNUSED, virTypedParamsFree(params, nparams); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5763,7 +5726,7 @@ remoteDispatchDomainMigrateFinish3Params(virNetServer= Ptr server G_GNUC_UNUSED, { virTypedParameterPtr params =3D NULL; int nparams =3D 0; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; char *cookieout =3D NULL; int cookieoutlen =3D 0; int rv =3D -1; @@ -5805,7 +5768,6 @@ remoteDispatchDomainMigrateFinish3Params(virNetServer= Ptr server G_GNUC_UNUSED, virNetMessageSaveError(rerr); VIR_FREE(cookieout); } - virObjectUnref(dom); return rv; } =20 @@ -5819,7 +5781,7 @@ remoteDispatchDomainMigrateConfirm3Params(virNetServe= rPtr server G_GNUC_UNUSED, { virTypedParameterPtr params =3D NULL; int nparams =3D 0; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int rv =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 @@ -5853,7 +5815,6 @@ remoteDispatchDomainMigrateConfirm3Params(virNetServe= rPtr server G_GNUC_UNUSED, virTypedParamsFree(params, nparams); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5916,7 +5877,7 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPt= r server G_GNUC_UNUSED, remote_domain_create_xml_with_files= _ret *ret) { int rv =3D -1; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int *files =3D NULL; unsigned int nfiles =3D 0; size_t i; @@ -5948,7 +5909,6 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPt= r server G_GNUC_UNUSED, VIR_FREE(files); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -5961,7 +5921,7 @@ static int remoteDispatchDomainCreateWithFiles(virNet= ServerPtr server G_GNUC_UNU remote_domain_create_with_f= iles_ret *ret) { int rv =3D -1; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; int *files =3D NULL; unsigned int nfiles =3D 0; size_t i; @@ -5996,7 +5956,6 @@ static int remoteDispatchDomainCreateWithFiles(virNet= ServerPtr server G_GNUC_UNU VIR_FREE(files); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -6493,7 +6452,7 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetS= erverPtr server G_GNUC_UNUS daemonClientEventCallbackPtr ref; struct daemonClientPrivate *priv =3D virNetServerClientGetPrivateData(client); - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; const char *event =3D args->event ? *args->event : NULL; virConnectPtr conn =3D remoteGetHypervisorConn(client); =20 @@ -6547,7 +6506,6 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetS= erverPtr server G_GNUC_UNUS remoteEventCallbackFree(callback); if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -6606,7 +6564,7 @@ remoteDispatchDomainGetTime(virNetServerPtr server G_= GNUC_UNUSED, remote_domain_get_time_ret *ret) { int rv =3D -1; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; long long seconds; unsigned int nseconds; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -6627,7 +6585,6 @@ remoteDispatchDomainGetTime(virNetServerPtr server G_= GNUC_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - virObjectUnref(dom); return rv; } =20 @@ -6939,7 +6896,7 @@ remoteDispatchDomainGetFSInfo(virNetServerPtr server = G_GNUC_UNUSED, int rv =3D -1; size_t i, j; virDomainFSInfoPtr *info =3D NULL; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; remote_domain_fsinfo *dst; int ninfo =3D 0; size_t ndisk; @@ -7023,7 +6980,6 @@ remoteDispatchDomainGetFSInfo(virNetServerPtr server = G_GNUC_UNUSED, VIR_FREE(ret->info.info_val); } } - virObjectUnref(dom); if (ninfo >=3D 0) for (i =3D 0; i < ninfo; i++) virDomainFSInfoFree(info[i]); @@ -7123,7 +7079,7 @@ remoteDispatchDomainInterfaceAddresses(virNetServerPt= r server G_GNUC_UNUSED, { size_t i; int rv =3D -1; - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virDomainInterfacePtr *ifaces =3D NULL; int ifaces_count =3D 0; virConnectPtr conn =3D remoteGetHypervisorConn(client); @@ -7146,8 +7102,6 @@ remoteDispatchDomainInterfaceAddresses(virNetServerPt= r server G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); =20 - virObjectUnref(dom); - if (ifaces && ifaces_count > 0) { for (i =3D 0; i < ifaces_count; i++) virDomainInterfaceFree(ifaces[i]); @@ -7419,7 +7373,7 @@ remoteDispatchDomainGetGuestInfo(virNetServerPtr serv= er G_GNUC_UNUSED, { int rv =3D -1; virConnectPtr conn =3D remoteGetHypervisorConn(client); - virDomainPtr dom =3D NULL; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; =20 @@ -7445,7 +7399,6 @@ remoteDispatchDomainGetGuestInfo(virNetServerPtr serv= er G_GNUC_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - virObjectUnref(dom); =20 return rv; } diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index b9337967af..df954dbb0e 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -4572,7 +4572,7 @@ remoteDomainBuildEventLifecycleHelper(virConnectPtr c= onn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4580,7 +4580,6 @@ remoteDomainBuildEventLifecycleHelper(virConnectPtr c= onn, return; =20 event =3D virDomainEventLifecycleNewFromDom(dom, msg->event, msg->deta= il); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } @@ -4610,7 +4609,7 @@ remoteDomainBuildEventRebootHelper(virConnectPtr conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4618,7 +4617,6 @@ remoteDomainBuildEventRebootHelper(virConnectPtr conn, return; =20 event =3D virDomainEventRebootNewFromDom(dom); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } @@ -4647,7 +4645,7 @@ remoteDomainBuildEventRTCChangeHelper(virConnectPtr c= onn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4655,7 +4653,6 @@ remoteDomainBuildEventRTCChangeHelper(virConnectPtr c= onn, return; =20 event =3D virDomainEventRTCChangeNewFromDom(dom, msg->offset); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } @@ -4684,7 +4681,7 @@ remoteDomainBuildEventWatchdogHelper(virConnectPtr co= nn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4692,7 +4689,6 @@ remoteDomainBuildEventWatchdogHelper(virConnectPtr co= nn, return; =20 event =3D virDomainEventWatchdogNewFromDom(dom, msg->action); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } @@ -4721,7 +4717,7 @@ remoteDomainBuildEventIOErrorHelper(virConnectPtr con= n, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4732,7 +4728,6 @@ remoteDomainBuildEventIOErrorHelper(virConnectPtr con= n, msg->srcPath, msg->devAlias, msg->action); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } @@ -4761,7 +4756,7 @@ remoteDomainBuildEventIOErrorReasonHelper(virConnectP= tr conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4774,8 +4769,6 @@ remoteDomainBuildEventIOErrorReasonHelper(virConnectP= tr conn, msg->action, msg->reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -4803,7 +4796,7 @@ remoteDomainBuildEventBlockJobHelper(virConnectPtr co= nn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4813,8 +4806,6 @@ remoteDomainBuildEventBlockJobHelper(virConnectPtr co= nn, event =3D virDomainEventBlockJobNewFromDom(dom, msg->path, msg->type, msg->status); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -4843,7 +4834,7 @@ remoteDomainBuildEventBlockJob2(virNetClientProgramPt= r prog G_GNUC_UNUSED, virConnectPtr conn =3D opaque; remote_domain_event_block_job_2_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4853,8 +4844,6 @@ remoteDomainBuildEventBlockJob2(virNetClientProgramPt= r prog G_GNUC_UNUSED, event =3D virDomainEventBlockJob2NewFromDom(dom, msg->dst, msg->type, msg->status); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -4864,7 +4853,7 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr co= nn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; virDomainEventGraphicsAddressPtr localAddr =3D NULL; virDomainEventGraphicsAddressPtr remoteAddr =3D NULL; @@ -4904,8 +4893,6 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr co= nn, msg->authScheme, subject); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); return; =20 @@ -4928,7 +4915,6 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr co= nn, VIR_FREE(subject->identities); VIR_FREE(subject); } - virObjectUnref(dom); return; } static void @@ -4956,7 +4942,7 @@ remoteDomainBuildEventControlErrorHelper(virConnectPt= r conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -4965,8 +4951,6 @@ remoteDomainBuildEventControlErrorHelper(virConnectPt= r conn, =20 event =3D virDomainEventControlErrorNewFromDom(dom); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -4995,7 +4979,7 @@ remoteDomainBuildEventDiskChangeHelper(virConnectPtr = conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5008,8 +4992,6 @@ remoteDomainBuildEventDiskChangeHelper(virConnectPtr = conn, msg->devAlias, msg->reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -5038,7 +5020,7 @@ remoteDomainBuildEventTrayChangeHelper(virConnectPtr = conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5049,8 +5031,6 @@ remoteDomainBuildEventTrayChangeHelper(virConnectPtr = conn, msg->devAlias, msg->reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -5079,7 +5059,7 @@ remoteDomainBuildEventPMWakeupHelper(virConnectPtr co= nn, int reason) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5088,8 +5068,6 @@ remoteDomainBuildEventPMWakeupHelper(virConnectPtr co= nn, =20 event =3D virDomainEventPMWakeupNewFromDom(dom, reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -5119,7 +5097,7 @@ remoteDomainBuildEventPMSuspendHelper(virConnectPtr c= onn, int reason) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5128,8 +5106,6 @@ remoteDomainBuildEventPMSuspendHelper(virConnectPtr c= onn, =20 event =3D virDomainEventPMSuspendNewFromDom(dom, reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -5159,7 +5135,7 @@ remoteDomainBuildEventBalloonChangeHelper(virConnectP= tr conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5167,7 +5143,6 @@ remoteDomainBuildEventBalloonChangeHelper(virConnectP= tr conn, return; =20 event =3D virDomainEventBalloonChangeNewFromDom(dom, msg->actual); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } @@ -5198,7 +5173,7 @@ remoteDomainBuildEventPMSuspendDiskHelper(virConnectP= tr conn, int reason) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5207,8 +5182,6 @@ remoteDomainBuildEventPMSuspendDiskHelper(virConnectP= tr conn, =20 event =3D virDomainEventPMSuspendDiskNewFromDom(dom, reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -5238,7 +5211,7 @@ remoteDomainBuildEventDeviceRemovedHelper(virConnectP= tr conn, int callbackID) { struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5247,8 +5220,6 @@ remoteDomainBuildEventDeviceRemovedHelper(virConnectP= tr conn, =20 event =3D virDomainEventDeviceRemovedNewFromDom(dom, msg->devAlias); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, callbackID); } static void @@ -5278,7 +5249,7 @@ remoteDomainBuildEventCallbackDeviceAdded(virNetClien= tProgramPtr prog G_GNUC_UNU virConnectPtr conn =3D opaque; remote_domain_event_callback_device_added_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5287,8 +5258,6 @@ remoteDomainBuildEventCallbackDeviceAdded(virNetClien= tProgramPtr prog G_GNUC_UNU =20 event =3D virDomainEventDeviceAddedNewFromDom(dom, msg->devAlias); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5301,7 +5270,7 @@ remoteDomainBuildEventCallbackDeviceRemovalFailed(vir= NetClientProgramPtr prog G_ virConnectPtr conn =3D opaque; remote_domain_event_callback_device_removal_failed_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 if (!(dom =3D get_nonnull_domain(conn, msg->dom))) @@ -5309,8 +5278,6 @@ remoteDomainBuildEventCallbackDeviceRemovalFailed(vir= NetClientProgramPtr prog G_ =20 event =3D virDomainEventDeviceRemovalFailedNewFromDom(dom, msg->devAli= as); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5322,7 +5289,7 @@ remoteDomainBuildEventCallbackTunable(virNetClientPro= gramPtr prog G_GNUC_UNUSED, virConnectPtr conn =3D opaque; remote_domain_event_callback_tunable_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; virObjectEventPtr event =3D NULL; @@ -5341,8 +5308,6 @@ remoteDomainBuildEventCallbackTunable(virNetClientPro= gramPtr prog G_GNUC_UNUSED, =20 event =3D virDomainEventTunableNewFromDom(dom, params, nparams); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5355,7 +5320,7 @@ remoteDomainBuildEventCallbackAgentLifecycle(virNetCl= ientProgramPtr prog G_GNUC_ virConnectPtr conn =3D opaque; remote_domain_event_callback_agent_lifecycle_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 if (!(dom =3D get_nonnull_domain(conn, msg->dom))) @@ -5364,8 +5329,6 @@ remoteDomainBuildEventCallbackAgentLifecycle(virNetCl= ientProgramPtr prog G_GNUC_ event =3D virDomainEventAgentLifecycleNewFromDom(dom, msg->state, msg->reason); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5379,7 +5342,7 @@ remoteDomainBuildEventCallbackMigrationIteration(virN= etClientProgramPtr prog G_G virConnectPtr conn =3D opaque; remote_domain_event_callback_migration_iteration_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 if (!(dom =3D get_nonnull_domain(conn, msg->dom))) @@ -5387,8 +5350,6 @@ remoteDomainBuildEventCallbackMigrationIteration(virN= etClientProgramPtr prog G_G =20 event =3D virDomainEventMigrationIterationNewFromDom(dom, msg->iterati= on); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5402,7 +5363,7 @@ remoteDomainBuildEventCallbackJobCompleted(virNetClie= ntProgramPtr prog G_GNUC_UN virConnectPtr conn =3D opaque; remote_domain_event_callback_job_completed_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; virTypedParameterPtr params =3D NULL; int nparams =3D 0; @@ -5420,8 +5381,6 @@ remoteDomainBuildEventCallbackJobCompleted(virNetClie= ntProgramPtr prog G_GNUC_UN =20 event =3D virDomainEventJobCompletedNewFromDom(dom, params, nparams); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5434,7 +5393,7 @@ remoteDomainBuildEventCallbackMetadataChange(virNetCl= ientProgramPtr prog G_GNUC_ virConnectPtr conn =3D opaque; remote_domain_event_callback_metadata_change_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 if (!(dom =3D get_nonnull_domain(conn, msg->dom))) @@ -5442,8 +5401,6 @@ remoteDomainBuildEventCallbackMetadataChange(virNetCl= ientProgramPtr prog G_GNUC_ =20 event =3D virDomainEventMetadataChangeNewFromDom(dom, msg->type, msg->= nsuri ? *msg->nsuri : NULL); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -5600,7 +5557,7 @@ remoteDomainBuildQemuMonitorEvent(virNetClientProgram= Ptr prog G_GNUC_UNUSED, virConnectPtr conn =3D opaque; struct private_data *priv =3D conn->privateData; qemu_domain_monitor_event_msg *msg =3D evdata; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 dom =3D get_nonnull_domain(conn, msg->dom); @@ -5611,7 +5568,6 @@ remoteDomainBuildQemuMonitorEvent(virNetClientProgram= Ptr prog G_GNUC_UNUSED, msg->event, msg->seconds, msg->micros, msg->details ? *msg->details : NU= LL); - virObjectUnref(dom); =20 virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } @@ -5660,7 +5616,7 @@ remoteDomainBuildEventBlockThreshold(virNetClientProg= ramPtr prog G_GNUC_UNUSED, virConnectPtr conn =3D opaque; remote_domain_event_block_threshold_msg *msg =3D evdata; struct private_data *priv =3D conn->privateData; - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; virObjectEventPtr event =3D NULL; =20 if (!(dom =3D get_nonnull_domain(conn, msg->dom))) @@ -5670,8 +5626,6 @@ remoteDomainBuildEventBlockThreshold(virNetClientProg= ramPtr prog G_GNUC_UNUSED, msg->path ? *msg->path = : NULL, msg->threshold, msg->ex= cess); =20 - virObjectUnref(dom); - virObjectEventStateQueueRemote(priv->eventState, event, msg->callbackI= D); } =20 @@ -7779,7 +7733,7 @@ remoteConnectGetAllDomainStats(virConnectPtr conn, =20 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 =3D ( virAdmClient =3D> 1, virAdmServer =3D> 1, + virDomain =3D> 1, virDomainCheckpoint =3D> 1, virDomainSnapshot =3D> 1, virInterface =3D> 1, @@ -626,7 +627,7 @@ elsif ($mode eq "server") { my $type_name =3D name_to_TypeName($1); my $unref_impl =3D get_unref_method("virDomain${type_n= ame}"); =20 - push(@vars_list, "virDomainPtr dom =3D NULL"); + push(@vars_list, "g_autoptr(virDomain) dom =3D NULL"); push(@vars_list, "virDomain${type_name}Ptr ${1} =3D NU= LL"); push(@getters_list, " if (!(dom =3D 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 =3D~ m/^(?:(?:admin|remote)_string|r= emote_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. */ =20 - virDomainPtr dom; + g_autoptr(virDomain) dom =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -2297,11 +2297,10 @@ static virDomainPtr vboxDomainCreateXML(virConnectP= tr conn, const char *xml, =20 if (vboxDomainCreate(dom) < 0) { vboxDomainUndefineFlags(dom, 0); - virObjectUnref(dom); return NULL; } =20 - return dom; + return g_steal_pointer(&dom); } =20 static int vboxDomainIsActive(virDomainPtr dom) @@ -7618,11 +7617,7 @@ vboxConnectListAllDomains(virConnectPtr conn, ret =3D count; =20 cleanup: - if (doms) { - for (i =3D 0; i < count; i++) - virObjectUnref(doms[i]); - } - VIR_FREE(doms); + virGObjectListFreeCount(doms, count); =20 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 =3D NULL; + g_autoptr(virDomain) ddomain =3D NULL; char *uri =3D NULL; char *cookiein =3D NULL; char *cookieout =3D NULL; @@ -3222,7 +3222,6 @@ vzDomainMigratePerformP2P(virDomainObjPtr dom, virObjectLock(dom); if (ddomain) ret =3D 0; - virObjectUnref(ddomain); =20 /* confirm step is NOOP thus no need to call it */ =20 @@ -3735,7 +3734,7 @@ vzDomainGetAllStats(virConnectPtr conn, =20 error: virTypedParamsFree(stat->params, stat->nparams); - virObjectUnref(stat->dom); + g_clear_object(&stat->dom); VIR_FREE(stat); return NULL; } --=20 2.26.2