From nobody Sat Feb 7 20:44:02 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 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=1569865703; cv=none; d=zoho.com; s=zohoarc; b=R3ebdZA3F8YQ0t4qh8aTohQm5Uvenc8gPMtvAmiPz8TokT/c8rYqgieEBGsywpgtQ8sEl7YA6Y//9Pxa2flZW3GibUi+OvedIwl3e7ELshFWYvg5NKPE/2euw75e0ZLp2ZWna/zQdm4GG5KiNiXNy5Ta3aQokabmQGqtYJMXaUk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569865703; 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:ARC-Authentication-Results; bh=qYelk/MjLNKO5e3IqYuobFRb6BZpItDHa7NP1qFuMog=; b=QDfhCLtG4wNY20ar3dXtE4Hn6rZfMZSnlQRKIzpuYbepu+et6hu0Qj4AJOxwa3fFOOjynAK2Es50mUxJAk9AzaOjJlZgNRibrJFVa07YZCyRiQbqOa8idyYrhC7s1C0STNRMeFT3LyFVvmhol3CtAa5K5jiVHs3BQg0zP2ddkXw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1569865703652452.9354937969215; Mon, 30 Sep 2019 10:48:23 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D41D3A44ACB; Mon, 30 Sep 2019 17:48:21 +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 A9AA45D9C9; Mon, 30 Sep 2019 17:48:21 +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 3779D1803518; Mon, 30 Sep 2019 17:48:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x8UHmI0M029172 for ; Mon, 30 Sep 2019 13:48:18 -0400 Received: by smtp.corp.redhat.com (Postfix) id C585219C6A; Mon, 30 Sep 2019 17:48:18 +0000 (UTC) Received: from mx1.redhat.com (ext-mx05.extmail.prod.ext.phx2.redhat.com [10.5.110.29]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2D17F19C58; Mon, 30 Sep 2019 17:48:16 +0000 (UTC) Received: from mail-qt1-f196.google.com (mail-qt1-f196.google.com [209.85.160.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C6AA73DE0C; Mon, 30 Sep 2019 17:48:14 +0000 (UTC) Received: by mail-qt1-f196.google.com with SMTP id n7so18116626qtb.6; Mon, 30 Sep 2019 10:48:14 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:2a15:38ab:f72b:e1c1:67e7]) by smtp.gmail.com with ESMTPSA id v26sm10204538qta.88.2019.09.30.10.48.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Sep 2019 10:48:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hz46uz9/0T3Blc6deXHFz5RPkJtUXp2SzvQukzQnzl4=; b=VhwjpYWxCNiX//D/33Hdt+k9hBlggfASvJpejPw3c1tIGzqDI5qDxqvH2B9X1y/SAb uS1Ltdv80vXHX2/dJLzMvqwy/sij4YG2LFMHoAkolSz2kPXGFZ5hf3jqcZwXuLYVNU2q qxqnw9YFSreseNsABIqHTi28pRo1oFsvJ3awkHi+fjNXdG+/kOKhYkW5ih2LK5EeDGxY sJrXLjgPXhk7BfdKkR8PSVLsLUoRFBJ4dDh9U/73iubbnCAhW5oI/TQ4bfw2cZHmORkM vNlS2JUkUAQJvcb5NpHlUHCLnt+h1BAV2r19CJXj8sxka5YQZJQwRGcHTCBNQG92P7pe kgyw== 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=hz46uz9/0T3Blc6deXHFz5RPkJtUXp2SzvQukzQnzl4=; b=eOO3buABoqH0CxGo7E+UnqGVr1bGDOYBUNBd34gbvGyV+vWfEE1E3WjhS4s7H/E4YY OXQxFu3R6FTWO3KmTN2ZzNTelTBA3+Xp6nX3OTFm6TQYMBkCbS0MhKxB6sGhc03RQ7WK vgpzes9lgncdg8LJ2SiYMAHw4R2fPG3v4cHUZbnJhkLEsQxOMWTsWoDvCy9qiiXDqCoK pNBXvp5ZEQTqfN3vZ/hk3imzBOmGiiA/WJqIdZbPIFHvGdHJkNivm8N1IKn/Pxtcxhmf UK8jGqLtQkVL52yeHZEmYTHC1FLr1D4S2SJ4WHuPQ8opyfnRqTVQONDoDj2xrOD1ohtr Wjug== X-Gm-Message-State: APjAAAWP4b/GRO6T2jUw4D6zWKLNY3trK4BOiy8MNO4vf/Rq0cE9wvJx cYpALkYkSdySoN6kMU3yYIqzXeq2JzI= X-Google-Smtp-Source: APXvYqy7SOc/+sut6lCyb14TQryo4d+2e/pfTRPuICYEuqKoNLrFHPk//w84SVLeEshO70Ug1Gnhzw== X-Received: by 2002:a0c:e0c4:: with SMTP id x4mr21673712qvk.176.1569865693786; Mon, 30 Sep 2019 10:48:13 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Mon, 30 Sep 2019 14:47:54 -0300 Message-Id: <20190930174802.22426-2-danielhb413@gmail.com> In-Reply-To: <20190930174802.22426-1-danielhb413@gmail.com> References: <20190930174802.22426-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 30 Sep 2019 17:48:15 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 30 Sep 2019 17:48:15 +0000 (UTC) for IP:'209.85.160.196' DOMAIN:'mail-qt1-f196.google.com' HELO:'mail-qt1-f196.google.com' FROM:'danielhb413@gmail.com' RCPT:'' X-RedHat-Spam-Score: 0.15 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS) 209.85.160.196 mail-qt1-f196.google.com 209.85.160.196 mail-qt1-f196.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.29 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , eskultet@redhat.com Subject: [libvirt] [PATCH v2 1/9] qemu_driver: use VIR_AUTOUNREF() with virQEMUDriverConfigPtr 1/3 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.68]); Mon, 30 Sep 2019 17:48:22 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" virQEMUDriverConfigPtr can be auto-unref for the great majority of the uses made in qemu_driver, sparing us a virObjectUnref() call and sometimes a whole 'cleanup' label. This patch changes virQEMUDriverConfigPtr declarations to use VIR_AUTOUNREF(). 'cleanup' labels were deleted when applicable. Since there are a lot of references to change, let's do it in 3 steps. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_driver.c | 94 +++++++++++++----------------------------- 1 file changed, 29 insertions(+), 65 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8751145ea0..1e709c1e97 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -202,7 +202,7 @@ qemuAutostartDomain(virDomainObjPtr vm, { virQEMUDriverPtr driver =3D opaque; int flags =3D 0; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); int ret =3D -1; =20 if (cfg->autoStartBypassCache) @@ -234,7 +234,6 @@ qemuAutostartDomain(virDomainObjPtr vm, ret =3D 0; cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -308,7 +307,7 @@ qemuSecurityInit(virQEMUDriverPtr driver) char **names; virSecurityManagerPtr mgr =3D NULL; virSecurityManagerPtr stack =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); unsigned int flags =3D 0; =20 if (cfg->securityDefaultConfined) @@ -368,7 +367,6 @@ qemuSecurityInit(virQEMUDriverPtr driver) } =20 driver->securityManager =3D stack; - virObjectUnref(cfg); return 0; =20 error: @@ -376,7 +374,6 @@ qemuSecurityInit(virQEMUDriverPtr driver) _("Failed to initialize security drivers")); virObjectUnref(stack); virObjectUnref(mgr); - virObjectUnref(cfg); return -1; } =20 @@ -1069,7 +1066,7 @@ static void qemuNotifyLoadDomain(virDomainObjPtr vm, = int newVM, void *opaque) static int qemuStateReload(void) { - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; virCapsPtr caps =3D NULL; =20 if (!qemu_driver) @@ -1085,7 +1082,6 @@ qemuStateReload(void) caps, qemu_driver->xmlopt, qemuNotifyLoadDomain, qemu_driver); cleanup: - virObjectUnref(cfg); virObjectUnref(caps); return 0; } @@ -1107,7 +1103,7 @@ qemuStateStop(void) int state; virDomainPtr *domains =3D NULL; unsigned int *flags =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(qemu_driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(q= emu_driver); =20 if (!(conn =3D virConnectOpen(cfg->uri))) goto cleanup; @@ -1146,7 +1142,6 @@ qemuStateStop(void) } VIR_FREE(flags); virObjectUnref(conn); - virObjectUnref(cfg); =20 return ret; } @@ -1204,20 +1199,16 @@ qemuStateCleanup(void) static int qemuConnectURIProbe(char **uri) { - virQEMUDriverConfigPtr cfg =3D NULL; - int ret =3D -1; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 if (qemu_driver =3D=3D NULL) return 0; =20 cfg =3D virQEMUDriverGetConfig(qemu_driver); if (VIR_STRDUP(*uri, cfg->uri) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 static virDrvOpenStatus qemuConnectOpen(virConnectPtr conn, @@ -1882,7 +1873,7 @@ static int qemuDomainSuspend(virDomainPtr dom) qemuDomainObjPrivatePtr priv; virDomainPausedReason reason; int state; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 if (!(vm =3D qemuDomainObjFromDomain(dom))) return -1; @@ -1925,7 +1916,6 @@ static int qemuDomainSuspend(virDomainPtr dom) cleanup: virDomainObjEndAPI(&vm); =20 - virObjectUnref(cfg); return ret; } =20 @@ -1937,7 +1927,7 @@ static int qemuDomainResume(virDomainPtr dom) int ret =3D -1; int state; int reason; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 if (!(vm =3D qemuDomainObjFromDomain(dom))) return -1; @@ -1983,7 +1973,6 @@ static int qemuDomainResume(virDomainPtr dom) =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -2364,7 +2353,7 @@ static int qemuDomainSetMemoryFlags(virDomainPtr dom,= unsigned long newmem, virDomainDefPtr def; virDomainDefPtr persistentDef; int ret =3D -1, r; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG | @@ -2469,7 +2458,6 @@ static int qemuDomainSetMemoryFlags(virDomainPtr dom,= unsigned long newmem, =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -2492,7 +2480,7 @@ static int qemuDomainSetMemoryStatsPeriod(virDomainPt= r dom, int period, virDomainDefPtr def; virDomainDefPtr persistentDef; int ret =3D -1, r; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); @@ -2555,7 +2543,6 @@ static int qemuDomainSetMemoryStatsPeriod(virDomainPt= r dom, int period, =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -3067,27 +3054,21 @@ qemuOpenFile(virQEMUDriverPtr driver, int oflags, bool *needUnlink) { - int ret =3D -1; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); uid_t user =3D cfg->user; gid_t group =3D cfg->group; bool dynamicOwnership =3D cfg->dynamicOwnership; virSecurityLabelDefPtr seclabel; =20 - virObjectUnref(cfg); - /* TODO: Take imagelabel into account? */ if (vm && (seclabel =3D virDomainDefGetSecurityLabelDef(vm->def, "dac")) != =3D NULL && seclabel->label !=3D NULL && (virParseOwnershipIds(seclabel->label, &user, &group) < 0)) - goto cleanup; - - ret =3D qemuOpenFileAs(user, group, dynamicOwnership, - path, oflags, needUnlink); + return -1; =20 - cleanup: - return ret; + return qemuOpenFileAs(user, group, dynamicOwnership, + path, oflags, needUnlink); } =20 static int @@ -3252,7 +3233,7 @@ qemuDomainSaveMemory(virQEMUDriverPtr driver, unsigned int flags, qemuDomainAsyncJob asyncJob) { - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); bool needUnlink =3D false; int ret =3D -1; int fd =3D -1; @@ -3315,7 +3296,6 @@ qemuDomainSaveMemory(virQEMUDriverPtr driver, if (qemuFileWrapperFDClose(vm, wrapperFd) < 0) ret =3D -1; virFileWrapperFdFree(wrapperFd); - virObjectUnref(cfg); =20 if (ret < 0 && needUnlink) unlink(path); @@ -3543,7 +3523,7 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, char *compressedpath =3D NULL; int ret =3D -1; virDomainObjPtr vm =3D NULL; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 virCheckFlags(VIR_DOMAIN_SAVE_BYPASS_CACHE | VIR_DOMAIN_SAVE_RUNNING | @@ -3570,7 +3550,6 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, cleanup: virDomainObjEndAPI(&vm); VIR_FREE(compressedpath); - virObjectUnref(cfg); return ret; } =20 @@ -3584,14 +3563,11 @@ static char * qemuDomainManagedSavePath(virQEMUDriverPtr driver, virDomainObjPtr vm) { char *ret; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 - if (virAsprintf(&ret, "%s/%s.save", cfg->saveDir, vm->def->name) < 0) { - virObjectUnref(cfg); + if (virAsprintf(&ret, "%s/%s.save", cfg->saveDir, vm->def->name) < 0) return NULL; - } =20 - virObjectUnref(cfg); return ret; } =20 @@ -3599,7 +3575,7 @@ static int qemuDomainManagedSave(virDomainPtr dom, unsigned int flags) { virQEMUDriverPtr driver =3D dom->conn->privateData; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; int compressed; char *compressedpath =3D NULL; virDomainObjPtr vm; @@ -3645,7 +3621,6 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int = flags) virDomainObjEndAPI(&vm); VIR_FREE(name); VIR_FREE(compressedpath); - virObjectUnref(cfg); =20 return ret; } @@ -3843,7 +3818,7 @@ doCoreDump(virQEMUDriverPtr driver, int directFlag =3D 0; unsigned int flags =3D VIR_FILE_WRAPPER_NON_BLOCKING; const char *memory_dump_format =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); char *compressedpath =3D NULL; =20 /* We reuse "save" flag for "dump" here. Then, we can support the same @@ -3925,7 +3900,6 @@ doCoreDump(virQEMUDriverPtr driver, if (ret !=3D 0) unlink(path); VIR_FREE(compressedpath); - virObjectUnref(cfg); return ret; } =20 @@ -4057,7 +4031,7 @@ qemuDomainScreenshot(virDomainPtr dom, const char *videoAlias =3D NULL; char *ret =3D NULL; bool unlink_tmp =3D false; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -4149,7 +4123,6 @@ qemuDomainScreenshot(virDomainPtr dom, =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -4162,7 +4135,7 @@ getAutoDumpPath(virQEMUDriverPtr driver, char timestr[100]; struct tm time_info; time_t curtime =3D time(NULL); - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 if (!domname) return NULL; @@ -4177,7 +4150,6 @@ getAutoDumpPath(virQEMUDriverPtr driver, domname, timestr)); =20 - virObjectUnref(cfg); VIR_FREE(domname); return dumpfile; } @@ -4188,7 +4160,7 @@ processWatchdogEvent(virQEMUDriverPtr driver, int action) { int ret; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); char *dumpfile =3D getAutoDumpPath(driver, vm); unsigned int flags =3D VIR_DUMP_MEMORY_ONLY; =20 @@ -4229,7 +4201,6 @@ processWatchdogEvent(virQEMUDriverPtr driver, qemuDomainObjEndAsyncJob(driver, vm); =20 cleanup: - virObjectUnref(cfg); VIR_FREE(dumpfile); } =20 @@ -4239,7 +4210,7 @@ doCoreDumpToAutoDumpPath(virQEMUDriverPtr driver, unsigned int flags) { int ret =3D -1; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); char *dumpfile =3D getAutoDumpPath(driver, vm); =20 if (!dumpfile) @@ -4252,7 +4223,6 @@ doCoreDumpToAutoDumpPath(virQEMUDriverPtr driver, "%s", _("Dump failed")); cleanup: VIR_FREE(dumpfile); - virObjectUnref(cfg); return ret; } =20 @@ -4281,13 +4251,13 @@ processGuestPanicEvent(virQEMUDriverPtr driver, { qemuDomainObjPrivatePtr priv =3D vm->privateData; virObjectEventPtr event =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); bool removeInactive =3D false; unsigned long flags =3D VIR_DUMP_MEMORY_ONLY; =20 if (qemuDomainObjBeginAsyncJob(driver, vm, QEMU_ASYNC_JOB_DUMP, VIR_DOMAIN_JOB_OPERATION_DUMP, flags) <= 0) - goto cleanup; + return; =20 if (!virDomainObjIsActive(vm)) { VIR_DEBUG("Ignoring GUEST_PANICKED event from inactive domain %s", @@ -4354,9 +4324,6 @@ processGuestPanicEvent(virQEMUDriverPtr driver, qemuDomainObjEndAsyncJob(driver, vm); if (removeInactive) qemuDomainRemoveInactiveJob(driver, vm); - - cleanup: - virObjectUnref(cfg); } =20 =20 @@ -4365,14 +4332,14 @@ processDeviceDeletedEvent(virQEMUDriverPtr driver, virDomainObjPtr vm, const char *devAlias) { - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); virDomainDeviceDef dev; =20 VIR_DEBUG("Removing device %s from domain %p %s", devAlias, vm, vm->def->name); =20 if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) - goto cleanup; + return; =20 if (!virDomainObjIsActive(vm)) { VIR_DEBUG("Domain is not running"); @@ -4395,9 +4362,6 @@ processDeviceDeletedEvent(virQEMUDriverPtr driver, =20 endjob: qemuDomainObjEndJob(driver, vm); - - cleanup: - virObjectUnref(cfg); } =20 =20 --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list