From nobody Sun Feb 8 05:27:24 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=1571170732; cv=none; d=zoho.com; s=zohoarc; b=huWgxJYlaB56je/Iho8m/UgSTqp7EQ3P79MhTZyNKo2ANujzYevoh5jM4EeH7DXN1/uqJLYfSsK9js+umpjtIZBsXeirtdvR+/vdRHYP8DGPEp1ktunWzunPtFj0zlQ+IAmrNTsRDcvo9EoxnboY2I/AGXKnlIEVc7cH6go1mFE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571170732; 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=rLGfaImCVspA/Vr7N2gmRVnihoRETtKtHHSYgf8Hybo=; b=R32B1eh8HhB7y8uOj7LQIBPiaTq6RrYeefXMZEomG2cvw28oQL5mJrUP5aljq3E6owndDFvQf4dQslVWi2pfv1t8fj/ZF5Ohc93ID5mtmLuIgeV00pncAZVPYZaN2B6drLES4F13b0IgjO+uXaD12qK1KrZCtr7QKH9YrRF49YQ= 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 1571170732621446.57290662402147; Tue, 15 Oct 2019 13:18:52 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0354410C093C; Tue, 15 Oct 2019 20:18:49 +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 700CD60C5D; Tue, 15 Oct 2019 20:18:49 +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 740E018005A0; Tue, 15 Oct 2019 20:18:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x9FK98eo010223 for ; Tue, 15 Oct 2019 16:09:08 -0400 Received: by smtp.corp.redhat.com (Postfix) id A929460468; Tue, 15 Oct 2019 20:09:08 +0000 (UTC) Received: from mx1.redhat.com (ext-mx13.extmail.prod.ext.phx2.redhat.com [10.5.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3812060166; Tue, 15 Oct 2019 20:09:06 +0000 (UTC) Received: from mail-qk1-f194.google.com (mail-qk1-f194.google.com [209.85.222.194]) (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 EEA9D3082135; Tue, 15 Oct 2019 20:09:03 +0000 (UTC) Received: by mail-qk1-f194.google.com with SMTP id q203so20456350qke.1; Tue, 15 Oct 2019 13:09:03 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c7:d25e:a983:2b3:2523:a41]) by smtp.gmail.com with ESMTPSA id t199sm10089455qke.36.2019.10.15.13.09.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Oct 2019 13:09:02 -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=TCLvkFF7iEtOh8Pj4x+/1V8tYwN23LWbHKNweTKHxhw=; b=YB7l3+k0BI31TkOoKmJ02Jqu9sxCddQRAax6OUFqDEi0FypCGUe6dRsgYxwX89qrqY 2eIjUMaLSs4nmWZ3xA6Ix4OD1kL9mHYBEoy0uBgD3tt0f+B3ETeyUyuWK8h3e5G4pca4 fNSrUdDp8e69JhJ2L8PK0Q3VOBzd5xZDGoJ13GVjCkKNzUP10YodNORNLiOO9tQpceGn FlmsbR97Ub8Nt1xfo7EYR1MSncHMUa3xt0cCYwqPTfw02LZf7QsspxUN3PQEU71XD2oA Oft1OJEjUy71q4rgLSpOqhTE5Dul2kAj4fUhI8CfDJpzMGKDIqLZ94aBSCAlxWS53dcp FeSA== 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=TCLvkFF7iEtOh8Pj4x+/1V8tYwN23LWbHKNweTKHxhw=; b=MSQoxfuwEwAvig+bn6zy7Nhdq+Qz+K0jL/DFY7SOsEOW+T6WUXWzOO9AFyu6E9KRBm SxFole2spUD9upVzdZJQHbGAu7eg87rKUlFmN5ziHJbKBRl0pvK/Kn7neNseRQxmB7VU 8NjAcSkFbzS6jX03wMD9FuUEA08TRljKnLrrzjWc5SFyFdVsYy6Yr0TN8Lyt3qAx6Wve NqpPzmgmm8NX6kH+IaMK/G7GHVlOA+eRBjjppQXO6Nn7LVbt9rzxAFe2EujWwUlt9BQ+ pxhmlIMZ21+UfJ6JLgW0TSe3JCJHjf8Wl9xEfCtZ6jkJXbTjvW2xTZGC/t49tBPirBaa gy1Q== X-Gm-Message-State: APjAAAU2lSe7076PEh/e5e2mVwX0jD4psOdQWRSG8lQpnUXvVqwygvfg BsI8sXjK1l/cldWqbAZb9DsqfXyZ X-Google-Smtp-Source: APXvYqxWo0l88xbzzBornY8WJZkFDz4FjkJzf039yhXquFBPMunrSqFcUmMo6MjkpPLwcGVn+b8qQw== X-Received: by 2002:a05:620a:6cb:: with SMTP id 11mr36537058qky.123.1571170142822; Tue, 15 Oct 2019 13:09:02 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Tue, 15 Oct 2019 17:08:43 -0300 Message-Id: <20191015200852.15778-2-danielhb413@gmail.com> In-Reply-To: <20191015200852.15778-1-danielhb413@gmail.com> References: <20191015200852.15778-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.42]); Tue, 15 Oct 2019 20:09:04 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Tue, 15 Oct 2019 20:09:04 +0000 (UTC) for IP:'209.85.222.194' DOMAIN:'mail-qk1-f194.google.com' HELO:'mail-qk1-f194.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.222.194 mail-qk1-f194.google.com 209.85.222.194 mail-qk1-f194.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.42 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , eskultet@redhat.com Subject: [libvirt] [PATCH v3 01/10] 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.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.66]); Tue, 15 Oct 2019 20:18:50 +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 6ce6348593..1bd9609761 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 @@ -1074,7 +1071,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) @@ -1090,7 +1087,6 @@ qemuStateReload(void) caps, qemu_driver->xmlopt, qemuNotifyLoadDomain, qemu_driver); cleanup: - virObjectUnref(cfg); virObjectUnref(caps); return 0; } @@ -1112,7 +1108,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; @@ -1151,7 +1147,6 @@ qemuStateStop(void) } VIR_FREE(flags); virObjectUnref(conn); - virObjectUnref(cfg); =20 return ret; } @@ -1209,20 +1204,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, @@ -1887,7 +1878,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; @@ -1930,7 +1921,6 @@ static int qemuDomainSuspend(virDomainPtr dom) cleanup: virDomainObjEndAPI(&vm); =20 - virObjectUnref(cfg); return ret; } =20 @@ -1942,7 +1932,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; @@ -1988,7 +1978,6 @@ static int qemuDomainResume(virDomainPtr dom) =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -2369,7 +2358,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 | @@ -2474,7 +2463,6 @@ static int qemuDomainSetMemoryFlags(virDomainPtr dom,= unsigned long newmem, =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -2497,7 +2485,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); @@ -2560,7 +2548,6 @@ static int qemuDomainSetMemoryStatsPeriod(virDomainPt= r dom, int period, =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -3072,27 +3059,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 @@ -3257,7 +3238,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; @@ -3320,7 +3301,6 @@ qemuDomainSaveMemory(virQEMUDriverPtr driver, if (qemuFileWrapperFDClose(vm, wrapperFd) < 0) ret =3D -1; virFileWrapperFdFree(wrapperFd); - virObjectUnref(cfg); =20 if (ret < 0 && needUnlink) unlink(path); @@ -3548,7 +3528,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 | @@ -3575,7 +3555,6 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, cleanup: virDomainObjEndAPI(&vm); VIR_FREE(compressedpath); - virObjectUnref(cfg); return ret; } =20 @@ -3589,14 +3568,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 @@ -3604,7 +3580,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; @@ -3650,7 +3626,6 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int = flags) virDomainObjEndAPI(&vm); VIR_FREE(name); VIR_FREE(compressedpath); - virObjectUnref(cfg); =20 return ret; } @@ -3848,7 +3823,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 @@ -3930,7 +3905,6 @@ doCoreDump(virQEMUDriverPtr driver, if (ret !=3D 0) unlink(path); VIR_FREE(compressedpath); - virObjectUnref(cfg); return ret; } =20 @@ -4062,7 +4036,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 @@ -4154,7 +4128,6 @@ qemuDomainScreenshot(virDomainPtr dom, =20 cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } =20 @@ -4167,7 +4140,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; @@ -4182,7 +4155,6 @@ getAutoDumpPath(virQEMUDriverPtr driver, domname, timestr)); =20 - virObjectUnref(cfg); VIR_FREE(domname); return dumpfile; } @@ -4193,7 +4165,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 @@ -4234,7 +4206,6 @@ processWatchdogEvent(virQEMUDriverPtr driver, qemuDomainObjEndAsyncJob(driver, vm); =20 cleanup: - virObjectUnref(cfg); VIR_FREE(dumpfile); } =20 @@ -4244,7 +4215,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) @@ -4257,7 +4228,6 @@ doCoreDumpToAutoDumpPath(virQEMUDriverPtr driver, "%s", _("Dump failed")); cleanup: VIR_FREE(dumpfile); - virObjectUnref(cfg); return ret; } =20 @@ -4286,13 +4256,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", @@ -4359,9 +4329,6 @@ processGuestPanicEvent(virQEMUDriverPtr driver, qemuDomainObjEndAsyncJob(driver, vm); if (removeInactive) qemuDomainRemoveInactiveJob(driver, vm); - - cleanup: - virObjectUnref(cfg); } =20 =20 @@ -4370,14 +4337,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"); @@ -4400,9 +4367,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