From nobody Mon Feb 9 11:08:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1661352797; cv=none; d=zohomail.com; s=zohoarc; b=Tq3PKISAS9kbqmpkzoBhzMLNtzmGpajyOwrVvjhbFZ44/tiNJs61mBU4wwA2Sm5hh0c09J6oe0n+FNAnWqHCEP6fya9U7HYK6lHqy9Cf9uxdLCnpztGHIoikJObFDSRFps6ayOvSXBoTJlo35t5oW+LLCoJs1o2SU5ouUwPTzls= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1661352797; h=Content-Type:Content-Transfer-Encoding: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=7JC1xcfcaPx8EbTEG3TryIuKWDjkaFnmfQK8MWeZkEI=; b=haUmh25nb1CuQvhTkM5f3e+i3TviuFChoHL2CwxtS9pbPPSJZ3LWeMdUyGkqoSbE1FeHxdf7oyfbs2n86tMCiQr3cIWO/6VQLopGp3CKZTjdQFXqazcWaHUYn2ZmO8m+J8TvSm8/VMuAhHwhKF4eK9u9SQd3j9S8TFyZzbzp59Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1661352797574449.4302725469321; Wed, 24 Aug 2022 07:53:17 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-251-Ytgt2BHEO-a-Wvb18RRy_w-1; Wed, 24 Aug 2022 10:53:07 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A7DAB1C068D6; Wed, 24 Aug 2022 14:53:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8FACD2166B2B; Wed, 24 Aug 2022 14:53:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B70061946A64; Wed, 24 Aug 2022 14:53:00 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E1A771946A42 for ; Wed, 24 Aug 2022 13:43:54 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D7DF5945DB; Wed, 24 Aug 2022 13:43:54 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.166]) by smtp.corp.redhat.com (Postfix) with ESMTP id 82DA3945D7 for ; Wed, 24 Aug 2022 13:43:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1661352796; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=7JC1xcfcaPx8EbTEG3TryIuKWDjkaFnmfQK8MWeZkEI=; b=GJ3oanS2L1jMqYehW6uCqWekfyHDQekUnATUwNTk2uvIAeT6Ev+67fisEFIdMuGouQyW1H lCYLC7GqRQpkTRgxwC7EQm8yn/ilGOtddsoe/gR8aF8EiDbz5rRDWl0Njd1EpxeAnusrZc VhHMl1ZygdbIHI0zceQe3xLCyjJEBrM= X-MC-Unique: Ytgt2BHEO-a-Wvb18RRy_w-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 15/17] qemu & conf: move BeginAgentJob & EndAgentJob into src/conf/virdomainjob Date: Wed, 24 Aug 2022 15:43:38 +0200 Message-Id: <9c6bac0f56631160bda5574a988847db1596e657.1661348244.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1661352799671100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Although these and functions in the following two patches are for now just being used by the qemu driver, it makes sense to have all begin job functions in the same file. Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- docs/kbase/internals/qemu-threads.rst | 10 ++-- src/conf/virdomainjob.c | 34 +++++++++++ src/conf/virdomainjob.h | 4 ++ src/libvirt_private.syms | 2 + src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_domainjob.c | 34 ----------- src/qemu/qemu_domainjob.h | 4 -- src/qemu/qemu_driver.c | 82 +++++++++++++-------------- src/qemu/qemu_snapshot.c | 10 ++-- 9 files changed, 92 insertions(+), 90 deletions(-) diff --git a/docs/kbase/internals/qemu-threads.rst b/docs/kbase/internals/q= emu-threads.rst index 22d12f61a5..afdf9e61cc 100644 --- a/docs/kbase/internals/qemu-threads.rst +++ b/docs/kbase/internals/qemu-threads.rst @@ -62,7 +62,7 @@ There are a number of locks on various objects =20 Agent job condition is then used when thread wishes to talk to qemu agent monitor. It is possible to acquire just agent job - (``qemuDomainObjBeginAgentJob``), or only normal job (``virDomainObjBe= ginJob``) + (``virDomainObjBeginAgentJob``), or only normal job (``virDomainObjBeg= inJob``) but not both at the same time. Holding an agent job and a normal job w= ould allow an unresponsive or malicious agent to block normal libvirt API a= nd potentially result in a denial of service. Which type of job to grab @@ -130,11 +130,11 @@ To acquire the normal job condition =20 To acquire the agent job condition =20 - ``qemuDomainObjBeginAgentJob()`` + ``virDomainObjBeginAgentJob()`` - Waits until there is no other agent job set - Sets ``job.agentActive`` to the job type =20 - ``qemuDomainObjEndAgentJob()`` + ``virDomainObjEndAgentJob()`` - Sets ``job.agentActive`` to 0 - Signals on ``job.cond`` condition =20 @@ -253,7 +253,7 @@ Design patterns =20 obj =3D qemuDomObjFromDomain(dom); =20 - qemuDomainObjBeginAgentJob(obj, VIR_AGENT_JOB_TYPE); + virDomainObjBeginAgentJob(obj, VIR_AGENT_JOB_TYPE); =20 ...do prep work... =20 @@ -266,7 +266,7 @@ Design patterns =20 ...do final work... =20 - qemuDomainObjEndAgentJob(obj); + virDomainObjEndAgentJob(obj); virDomainObjEndAPI(&obj); =20 =20 diff --git a/src/conf/virdomainjob.c b/src/conf/virdomainjob.c index 0f239c680c..f91a606d84 100644 --- a/src/conf/virdomainjob.c +++ b/src/conf/virdomainjob.c @@ -527,6 +527,22 @@ int virDomainObjBeginJob(virDomainObj *obj, return 0; } =20 +/** + * virDomainObjBeginAgentJob: + * + * Grabs agent type of job. Use if caller talks to guest agent only. + * + * To end job call virDomainObjEndAgentJob. + */ +int +virDomainObjBeginAgentJob(virDomainObj *obj, + virDomainAgentJob agentJob) +{ + return virDomainObjBeginJobInternal(obj, obj->job, VIR_JOB_NONE, + agentJob, + VIR_ASYNC_JOB_NONE, false); +} + /* * obj must be locked and have a reference before calling * @@ -554,3 +570,21 @@ virDomainObjEndJob(virDomainObj *obj) * grabbing a job requires checking more variables. */ virCondBroadcast(&obj->job->cond); } + +void +virDomainObjEndAgentJob(virDomainObj *obj) +{ + virDomainAgentJob agentJob =3D obj->job->agentActive; + + obj->job->jobsQueued--; + + VIR_DEBUG("Stopping agent job: %s (async=3D%s vm=3D%p name=3D%s)", + virDomainAgentJobTypeToString(agentJob), + virDomainAsyncJobTypeToString(obj->job->asyncJob), + obj, obj->def->name); + + virDomainObjResetAgentJob(obj->job); + /* We indeed need to wake up ALL threads waiting because + * grabbing a job requires checking more variables. */ + virCondBroadcast(&obj->job->cond); +} diff --git a/src/conf/virdomainjob.h b/src/conf/virdomainjob.h index 7a06c384f3..6cec322af1 100644 --- a/src/conf/virdomainjob.h +++ b/src/conf/virdomainjob.h @@ -249,5 +249,9 @@ int virDomainObjBeginJobInternal(virDomainObj *obj, int virDomainObjBeginJob(virDomainObj *obj, virDomainJob job) G_GNUC_WARN_UNUSED_RESULT; +int virDomainObjBeginAgentJob(virDomainObj *obj, + virDomainAgentJob agentJob) + G_GNUC_WARN_UNUSED_RESULT; =20 void virDomainObjEndJob(virDomainObj *obj); +void virDomainObjEndAgentJob(virDomainObj *obj); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 77da4a1d01..05b27d6725 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1187,10 +1187,12 @@ virDomainJobStatusToType; virDomainJobTypeFromString; virDomainJobTypeToString; virDomainNestedJobAllowed; +virDomainObjBeginAgentJob; virDomainObjBeginJob; virDomainObjBeginJobInternal; virDomainObjCanSetJob; virDomainObjClearJob; +virDomainObjEndAgentJob; virDomainObjEndJob; virDomainObjInitJob; virDomainObjPreserveJob; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 3514f104f1..197be6a4d1 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6057,7 +6057,7 @@ qemuDomainObjEnterMonitorAsync(virDomainObj *obj, * obj must be locked before calling * * To be called immediately before any QEMU agent API call. - * Must have already called qemuDomainObjBeginAgentJob() and + * Must have already called virDomainObjBeginAgentJob() and * checked that the VM is still active. * * To be followed with qemuDomainObjExitAgent() once complete diff --git a/src/qemu/qemu_domainjob.c b/src/qemu/qemu_domainjob.c index a8baf096e5..0775e04add 100644 --- a/src/qemu/qemu_domainjob.c +++ b/src/qemu/qemu_domainjob.c @@ -655,22 +655,6 @@ qemuDomainObjReleaseAsyncJob(virDomainObj *obj) obj->job->asyncOwner =3D 0; } =20 -/** - * qemuDomainObjBeginAgentJob: - * - * Grabs agent type of job. Use if caller talks to guest agent only. - * - * To end job call qemuDomainObjEndAgentJob. - */ -int -qemuDomainObjBeginAgentJob(virDomainObj *obj, - virDomainAgentJob agentJob) -{ - return virDomainObjBeginJobInternal(obj, obj->job, VIR_JOB_NONE, - agentJob, - VIR_ASYNC_JOB_NONE, false); -} - int qemuDomainObjBeginAsyncJob(virDomainObj *obj, virDomainAsyncJob asyncJob, virDomainJobOperation operation, @@ -730,24 +714,6 @@ qemuDomainObjBeginJobNowait(virDomainObj *obj, VIR_ASYNC_JOB_NONE, true); } =20 -void -qemuDomainObjEndAgentJob(virDomainObj *obj) -{ - virDomainAgentJob agentJob =3D obj->job->agentActive; - - obj->job->jobsQueued--; - - VIR_DEBUG("Stopping agent job: %s (async=3D%s vm=3D%p name=3D%s)", - virDomainAgentJobTypeToString(agentJob), - virDomainAsyncJobTypeToString(obj->job->asyncJob), - obj, obj->def->name); - - virDomainObjResetAgentJob(obj->job); - /* We indeed need to wake up ALL threads waiting because - * grabbing a job requires checking more variables. */ - virCondBroadcast(&obj->job->cond); -} - void qemuDomainObjEndAsyncJob(virDomainObj *obj) { diff --git a/src/qemu/qemu_domainjob.h b/src/qemu/qemu_domainjob.h index 918b74748b..0cc4dc44f3 100644 --- a/src/qemu/qemu_domainjob.h +++ b/src/qemu/qemu_domainjob.h @@ -69,9 +69,6 @@ int qemuDomainAsyncJobPhaseFromString(virDomainAsyncJob j= ob, void qemuDomainEventEmitJobCompleted(virQEMUDriver *driver, virDomainObj *vm); =20 -int qemuDomainObjBeginAgentJob(virDomainObj *obj, - virDomainAgentJob agentJob) - G_GNUC_WARN_UNUSED_RESULT; int qemuDomainObjBeginAsyncJob(virDomainObj *obj, virDomainAsyncJob asyncJob, virDomainJobOperation operation, @@ -84,7 +81,6 @@ int qemuDomainObjBeginJobNowait(virDomainObj *obj, virDomainJob job) G_GNUC_WARN_UNUSED_RESULT; =20 -void qemuDomainObjEndAgentJob(virDomainObj *obj); void qemuDomainObjEndAsyncJob(virDomainObj *obj); void qemuDomainObjAbortAsyncJob(virDomainObj *obj); void qemuDomainObjSetJobPhase(virDomainObj *obj, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 666e8dd228..443b4f679a 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1780,7 +1780,7 @@ qemuDomainShutdownFlagsAgent(virDomainObj *vm, int agentFlag =3D isReboot ? QEMU_AGENT_SHUTDOWN_REBOOT : QEMU_AGENT_SHUTDOWN_POWERDOWN; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) return -1; =20 if (virDomainObjGetState(vm, NULL) !=3D VIR_DOMAIN_RUNNING) { @@ -1798,7 +1798,7 @@ qemuDomainShutdownFlagsAgent(virDomainObj *vm, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); return ret; } =20 @@ -1908,7 +1908,7 @@ qemuDomainRebootAgent(virDomainObj *vm, if (!isReboot) agentFlag =3D QEMU_AGENT_SHUTDOWN_POWERDOWN; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) return -1; =20 if (!qemuDomainAgentAvailable(vm, agentForced)) @@ -1923,7 +1923,7 @@ qemuDomainRebootAgent(virDomainObj *vm, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); return ret; } =20 @@ -4366,7 +4366,7 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, =20 =20 if (useAgent) { - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; } else { if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0) @@ -4386,7 +4386,7 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, =20 endjob: if (useAgent) - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); else virDomainObjEndJob(vm); =20 @@ -4807,7 +4807,7 @@ qemuDomainGetVcpusFlags(virDomainPtr dom, unsigned in= t flags) goto cleanup; =20 if (flags & VIR_DOMAIN_VCPU_GUEST) { - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (!virDomainObjIsActive(vm)) { @@ -4825,7 +4825,7 @@ qemuDomainGetVcpusFlags(virDomainPtr dom, unsigned in= t flags) qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 if (ncpuinfo < 0) goto cleanup; @@ -16601,7 +16601,7 @@ qemuDomainPMSuspendAgent(virDomainObj *vm, qemuAgent *agent; int ret =3D -1; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) return -1; =20 if (virDomainObjCheckActive(vm) < 0) @@ -16615,7 +16615,7 @@ qemuDomainPMSuspendAgent(virDomainObj *vm, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); return ret; } =20 @@ -16767,7 +16767,7 @@ qemuDomainQemuAgentCommand(virDomainPtr domain, if (virDomainQemuAgentCommandEnsureACL(domain->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -16785,7 +16785,7 @@ qemuDomainQemuAgentCommand(virDomainPtr domain, VIR_FREE(result); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: virDomainObjEndAPI(&vm); @@ -16861,7 +16861,7 @@ qemuDomainFSTrim(virDomainPtr dom, if (virDomainFSTrimEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -16875,7 +16875,7 @@ qemuDomainFSTrim(virDomainPtr dom, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: virDomainObjEndAPI(&vm); @@ -17031,7 +17031,7 @@ qemuDomainGetHostnameAgent(virDomainObj *vm, qemuAgent *agent; int ret =3D -1; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) return -1; =20 if (virDomainObjCheckActive(vm) < 0) @@ -17046,7 +17046,7 @@ qemuDomainGetHostnameAgent(virDomainObj *vm, =20 ret =3D 0; endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); return ret; } =20 @@ -17172,7 +17172,7 @@ qemuDomainGetTime(virDomainPtr dom, if (virDomainGetTimeEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -17191,7 +17191,7 @@ qemuDomainGetTime(virDomainPtr dom, ret =3D 0; =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: virDomainObjEndAPI(&vm); @@ -17208,7 +17208,7 @@ qemuDomainSetTimeAgent(virDomainObj *vm, qemuAgent *agent; int ret =3D -1; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) return -1; =20 if (virDomainObjCheckActive(vm) < 0) @@ -17222,7 +17222,7 @@ qemuDomainSetTimeAgent(virDomainObj *vm, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); return ret; } =20 @@ -17308,7 +17308,7 @@ qemuDomainFSFreeze(virDomainPtr dom, if (virDomainFSFreezeEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -17317,7 +17317,7 @@ qemuDomainFSFreeze(virDomainPtr dom, ret =3D qemuSnapshotFSFreeze(vm, mountpoints, nmountpoints); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: virDomainObjEndAPI(&vm); @@ -17348,7 +17348,7 @@ qemuDomainFSThaw(virDomainPtr dom, if (virDomainFSThawEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -17357,7 +17357,7 @@ qemuDomainFSThaw(virDomainPtr dom, ret =3D qemuSnapshotFSThaw(vm, true); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: virDomainObjEndAPI(&vm); @@ -18880,7 +18880,7 @@ qemuDomainGetFSInfoAgent(virDomainObj *vm, int ret =3D -1; qemuAgent *agent; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) return ret; =20 if (virDomainObjCheckActive(vm) < 0) @@ -18894,7 +18894,7 @@ qemuDomainGetFSInfoAgent(virDomainObj *vm, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); return ret; } =20 @@ -19039,7 +19039,7 @@ qemuDomainInterfaceAddresses(virDomainPtr dom, break; =20 case VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_AGENT: - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -19050,7 +19050,7 @@ qemuDomainInterfaceAddresses(virDomainPtr dom, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 break; =20 @@ -19090,7 +19090,7 @@ qemuDomainSetUserPassword(virDomainPtr dom, if (virDomainSetUserPasswordEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -19110,7 +19110,7 @@ qemuDomainSetUserPassword(virDomainPtr dom, ret =3D 0; =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: virDomainObjEndAPI(&vm); @@ -19393,7 +19393,7 @@ qemuDomainGetGuestVcpus(virDomainPtr dom, if (virDomainGetGuestVcpusEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -19412,7 +19412,7 @@ qemuDomainGetGuestVcpus(virDomainPtr dom, ret =3D 0; =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: VIR_FREE(info); @@ -19451,7 +19451,7 @@ qemuDomainSetGuestVcpus(virDomainPtr dom, if (virDomainSetGuestVcpusEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -19497,7 +19497,7 @@ qemuDomainSetGuestVcpus(virDomainPtr dom, qemuDomainObjExitAgent(vm, agent); =20 endjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 cleanup: VIR_FREE(info); @@ -20412,7 +20412,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom, if (virDomainGetGuestInfoEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -20470,7 +20470,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom, } =20 qemuDomainObjExitAgent(vm, agent); - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 if (nfs > 0 || ndisks > 0) { if (virDomainObjBeginJob(vm, VIR_JOB_QUERY) < 0) @@ -20517,7 +20517,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom, qemuDomainObjExitAgent(vm, agent); =20 endagentjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); goto cleanup; } =20 @@ -20588,7 +20588,7 @@ qemuDomainAuthorizedSSHKeysGet(virDomainPtr dom, if (virDomainAuthorizedSshKeysGetEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -20599,7 +20599,7 @@ qemuDomainAuthorizedSSHKeysGet(virDomainPtr dom, qemuDomainObjExitAgent(vm, agent); =20 endagentjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); cleanup: virDomainObjEndAPI(&vm); return rv; @@ -20628,7 +20628,7 @@ qemuDomainAuthorizedSSHKeysSet(virDomainPtr dom, if (virDomainAuthorizedSshKeysSetEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) goto cleanup; =20 if (!qemuDomainAgentAvailable(vm, true)) @@ -20642,7 +20642,7 @@ qemuDomainAuthorizedSSHKeysSet(virDomainPtr dom, qemuDomainObjExitAgent(vm, agent); =20 endagentjob: - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); cleanup: virDomainObjEndAPI(&vm); return rv; diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index afed0f0e28..c5e5e3ed5b 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -1277,16 +1277,16 @@ qemuSnapshotCreateActiveExternal(virQEMUDriver *dri= ver, if (flags & VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE) { int frozen; =20 - if (qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) { - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); goto cleanup; } =20 frozen =3D qemuSnapshotFSFreeze(vm, NULL, 0); - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); =20 if (frozen < 0) goto cleanup; @@ -1422,13 +1422,13 @@ qemuSnapshotCreateActiveExternal(virQEMUDriver *dri= ver, } =20 if (thaw && - qemuDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) >=3D 0 && + virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_MODIFY) >=3D 0 && virDomainObjIsActive(vm)) { /* report error only on an otherwise successful snapshot */ if (qemuSnapshotFSThaw(vm, ret =3D=3D 0) < 0) ret =3D -1; =20 - qemuDomainObjEndAgentJob(vm); + virDomainObjEndAgentJob(vm); } =20 virQEMUSaveDataFree(data); --=20 2.37.1