From nobody Fri Apr 26 11:31:39 2024 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; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523566858271143.1773109337006; Thu, 12 Apr 2018 14:00:58 -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 F34FC313B4E6; Thu, 12 Apr 2018 21:00:55 +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 5E09F88202; Thu, 12 Apr 2018 21:00:55 +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 CAA7E180596E; Thu, 12 Apr 2018 21:00:51 +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 w3CJnW5n016361 for ; Thu, 12 Apr 2018 15:49:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5C9B0189E4; Thu, 12 Apr 2018 19:49:32 +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 5159412A77 for ; Thu, 12 Apr 2018 19:49:26 +0000 (UTC) Received: from smtp.lse.epita.fr (lse.epita.fr [163.5.55.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 743A183C for ; Thu, 12 Apr 2018 19:49:20 +0000 (UTC) Received: from clem.lse.epita.fr (unknown [192.168.103.23]) by smtp.lse.epita.fr (Postfix) with ESMTP id DF19060AD0; Thu, 12 Apr 2018 21:49:17 +0200 (CEST) From: Clementine Hayat To: libvir-list@redhat.com Date: Thu, 12 Apr 2018 19:49:15 +0000 Message-Id: <20180412194915.818-1-clem@lse.epita.fr> X-Greylist: Sender passed SPF test, ACL 227 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 12 Apr 2018 19:49:22 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 12 Apr 2018 19:49:22 +0000 (UTC) for IP:'163.5.55.17' DOMAIN:'lse.epita.fr' HELO:'smtp.lse.epita.fr' FROM:'clem@lse.epita.fr' RCPT:'' X-RedHat-Spam-Score: -0.001 (SPF_PASS) 163.5.55.17 lse.epita.fr 163.5.55.17 lse.epita.fr X-Scanned-By: MIMEDefang 2.78 on 10.5.110.29 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com X-Mailman-Approved-At: Thu, 12 Apr 2018 17:00:50 -0400 Cc: Clementine Hayat Subject: [libvirt] [PATCH] Add function that raises error if domain is not active 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: , MIME-Version: 1.0 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.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 12 Apr 2018 21:00:57 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Add a function named virDomainObjCheckIsActive in src/conf/domain_conf.c. It calls virDomainObjIsActive, raises error and returns. There is a lot of occurence of this pattern and it will save 3 lines on each call. Knowing that there is over 100 occurences, it will remove 300 lines from the code base. Signed-off-by: Clementine Hayat --- Patch proposed for gsoc2018. src/conf/domain_conf.c | 11 +++++ src/conf/domain_conf.h | 2 + src/libvirt_private.syms | 1 + src/qemu/qemu_driver.c | 96 +++++++++------------------------------- 4 files changed, 34 insertions(+), 76 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d23182f18..86d28c26a 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -6003,6 +6003,17 @@ virDomainDefValidate(virDomainDefPtr def, return 0; } =20 +int +virDomainObjCheckIsActive(virDomainObjPtr dom) +{ + if (!virDomainObjIsActive(dom)) { + virReportError(VIR_ERR_OPERATION_INVALID, + "%s", _("domain is not running")); + return -1; + } + return 0; +} + =20 /** * virDomainDeviceLoadparmIsValid diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index bbaa24137..8de4c4145 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2722,6 +2722,8 @@ virDomainObjIsActive(virDomainObjPtr dom) return dom->def->id !=3D -1; } =20 +int virDomainObjCheckIsActive(virDomainObjPtr dom); + int virDomainDefSetVcpusMax(virDomainDefPtr def, unsigned int vcpus, virDomainXMLOptionPtr xmlopt); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index cab324c4d..d90df3583 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -474,6 +474,7 @@ virDomainNostateReasonTypeFromString; virDomainNostateReasonTypeToString; virDomainObjAssignDef; virDomainObjBroadcast; +virDomainObjCheckIsActive; virDomainObjCopyPersistentDef; virDomainObjEndAPI; virDomainObjFormat; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index fcd79bd71..22cc9bddb 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3537,11 +3537,8 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pa= th, const char *dxml, if (virDomainSaveFlagsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto cleanup; - } =20 ret =3D qemuDomainSaveInternal(driver, vm, path, compressed, compressedpath, dxml, flags); @@ -3595,11 +3592,9 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int= flags) if (virDomainManagedSaveEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto cleanup; - } + if (!vm->persistent) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("cannot do managed save for transient domain")); @@ -3939,11 +3934,8 @@ qemuDomainCoreDumpWithFormat(virDomainPtr dom, VIR_DOMAIN_JOB_OPERATION_DUMP) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; priv->job.current->statsType =3D QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP; @@ -4054,11 +4046,8 @@ qemuDomainScreenshot(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 /* Well, even if qemu allows multiple graphic cards, heads, whatever, * screenshot command does not */ @@ -4165,11 +4154,8 @@ processWatchdogEvent(virQEMUDriverPtr driver, goto cleanup; } =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 flags |=3D cfg->autoDumpBypassCache ? VIR_DUMP_BYPASS_CACHE: 0; if ((ret =3D doCoreDump(driver, vm, dumpfile, flags, @@ -10841,11 +10827,8 @@ qemuDomainBlockResize(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 if (!(disk =3D virDomainDiskByName(vm->def, path, false))) { virReportError(VIR_ERR_INVALID_ARG, @@ -11001,11 +10984,8 @@ qemuDomainBlockStats(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 if (qemuDomainBlocksStatsGather(driver, vm, path, &blockstats) < 0) goto endjob; @@ -11058,11 +11038,8 @@ qemuDomainBlockStatsFlags(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 if ((nstats =3D qemuDomainBlocksStatsGather(driver, vm, path, &blockstats)) < 0) @@ -11128,11 +11105,8 @@ qemuDomainInterfaceStats(virDomainPtr dom, if (virDomainInterfaceStatsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto cleanup; - } =20 if (!(net =3D virDomainNetFind(vm->def, device))) goto cleanup; @@ -11484,11 +11458,8 @@ qemuDomainMemoryStatsInternal(virQEMUDriverPtr dri= ver, int ret =3D -1; long rss; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) return -1; - } =20 if (vm->def->memballoon && vm->def->memballoon->model =3D=3D VIR_DOMAIN_MEMBALLOON_MODEL_VIRT= IO) { @@ -11638,11 +11609,8 @@ qemuDomainMemoryPeek(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 if (virAsprintf(&tmp, "%s/qemu.mem.XXXXXX", cfg->cacheDir) < 0) goto endjob; @@ -13294,11 +13262,8 @@ qemuDomainGetJobStatsInternal(virQEMUDriverPtr dri= ver, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) return -1; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto cleanup; - } =20 if (!priv->job.current) { jobInfo->status =3D QEMU_DOMAIN_JOB_STATUS_NONE; @@ -13426,11 +13391,8 @@ static int qemuDomainAbortJob(virDomainPtr dom) if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_ABORT) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; =20 @@ -13493,11 +13455,8 @@ qemuDomainMigrateSetMaxDowntime(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MIGRATION_OP) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; =20 @@ -13538,11 +13497,8 @@ qemuDomainMigrateGetMaxDowntime(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; qemuDomainObjEnterMonitor(driver, vm); @@ -13591,11 +13547,8 @@ qemuDomainMigrateGetCompressionCache(virDomainPtr = dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; =20 @@ -13642,11 +13595,8 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr = dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MIGRATION_OP) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; =20 @@ -13704,11 +13654,8 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MIGRATION_OP) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, - "%s", _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 VIR_DEBUG("Setting migration bandwidth to %luMbs", bandwidth); qemuDomainObjEnterMonitor(driver, vm); @@ -13779,11 +13726,8 @@ qemuDomainMigrateStartPostCopy(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MIGRATION_OP) < 0) goto cleanup; =20 - if (!virDomainObjIsActive(vm)) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("domain is not running")); + if (virDomainObjCheckIsActive(vm) < 0) goto endjob; - } =20 priv =3D vm->privateData; =20 --=20 2.17.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list