From nobody Sat May 4 05:27:41 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1529497935548553.0444059958371; Wed, 20 Jun 2018 05:32:15 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 87FB74E8A8; Wed, 20 Jun 2018 12:32:13 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 291211001F5B; Wed, 20 Jun 2018 12:32:13 +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 458524A463; Wed, 20 Jun 2018 12:32:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w5KCW7nm005184 for ; Wed, 20 Jun 2018 08:32:08 -0400 Received: by smtp.corp.redhat.com (Postfix) id C1602111E413; Wed, 20 Jun 2018 12:32:07 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 65912111E410 for ; Wed, 20 Jun 2018 12:32:07 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Wed, 20 Jun 2018 14:32:03 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/2] qemuDomainObjBeginJobInternal: Log agent job too 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.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 20 Jun 2018 12:32:14 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" If a thread is unable to start a job (e.g. because of timeout) an warning is printed into the logs. So far, the message does not contain agent job info. Add it as it might help future debugging. Signed-off-by: Michal Privoznik Reviewed-by: Jiri Denemark --- src/qemu/qemu_domain.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d7c0598cee..827597d5f3 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6422,6 +6422,7 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driver, const char *blocker =3D NULL; int ret =3D -1; unsigned long long duration =3D 0; + unsigned long long agentDuration =3D 0; unsigned long long asyncDuration =3D 0; =20 VIR_DEBUG("Starting job: job=3D%s agentJob=3D%s asyncJob=3D%s " @@ -6526,22 +6527,27 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driv= er, ignore_value(virTimeMillisNow(&now)); if (priv->job.active && priv->job.started) duration =3D now - priv->job.started; + if (priv->job.agentActive && priv->job.agentStarted) + agentDuration =3D now - priv->job.agentStarted; if (priv->job.asyncJob && priv->job.asyncStarted) asyncDuration =3D now - priv->job.asyncStarted; =20 - VIR_WARN("Cannot start job (%s, %s) for domain %s; " - "current job is (%s, %s) " - "owned by (%llu %s, %llu %s (flags=3D0x%lx)) " - "for (%llus, %llus)", + VIR_WARN("Cannot start job (%s, %s, %s) for domain %s; " + "current job is (%s, %s, %s) " + "owned by (%llu %s, %llu %s, %llu %s (flags=3D0x%lx)) " + "for (%llus, %llus, %llus)", qemuDomainJobTypeToString(job), + qemuDomainAgentJobTypeToString(agentJob), qemuDomainAsyncJobTypeToString(asyncJob), obj->def->name, qemuDomainJobTypeToString(priv->job.active), + qemuDomainAgentJobTypeToString(priv->job.agentActive), qemuDomainAsyncJobTypeToString(priv->job.asyncJob), priv->job.owner, NULLSTR(priv->job.ownerAPI), + priv->job.agentOwner, NULLSTR(priv->job.agentOwnerAPI), priv->job.asyncOwner, NULLSTR(priv->job.asyncOwnerAPI), priv->job.apiFlags, - duration / 1000, asyncDuration / 1000); + duration / 1000, agentDuration / 1000, asyncDuration / 1000); =20 if (nested || qemuDomainNestedJobAllowed(priv, job)) blocker =3D priv->job.ownerAPI; --=20 2.16.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat May 4 05:27:41 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1529497935213376.2364119538852; Wed, 20 Jun 2018 05:32:15 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D900781DF5; Wed, 20 Jun 2018 12:32:13 +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 993845D75A; Wed, 20 Jun 2018 12:32:13 +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 D79091800538; Wed, 20 Jun 2018 12:32:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w5KCW8AZ005189 for ; Wed, 20 Jun 2018 08:32:08 -0400 Received: by smtp.corp.redhat.com (Postfix) id 63A28111E413; Wed, 20 Jun 2018 12:32:08 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 07543111E410 for ; Wed, 20 Jun 2018 12:32:07 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Wed, 20 Jun 2018 14:32:04 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/2] qemuDomainObjBeginJobInternal: Report agent job in error message 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.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 20 Jun 2018 12:32:14 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" If a thread is unable to acquire a job (e.g. because of timeout) an error is reported and the error message contains reference to the other thread holding the job. Well, the error message should report agent job too as it is yet another source of possible failure. Signed-off-by: Michal Privoznik --- src/qemu/qemu_domain.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 827597d5f3..4331b95917 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6420,6 +6420,7 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driver, bool async =3D job =3D=3D QEMU_JOB_ASYNC; virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); const char *blocker =3D NULL; + const char *agentBlocker =3D NULL; int ret =3D -1; unsigned long long duration =3D 0; unsigned long long agentDuration =3D 0; @@ -6549,16 +6550,21 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driv= er, priv->job.apiFlags, duration / 1000, agentDuration / 1000, asyncDuration / 1000); =20 - if (nested || qemuDomainNestedJobAllowed(priv, job)) - blocker =3D priv->job.ownerAPI; - else - blocker =3D priv->job.asyncOwnerAPI; + if (job) { + if (nested || qemuDomainNestedJobAllowed(priv, job)) + blocker =3D priv->job.ownerAPI; + else + blocker =3D priv->job.asyncOwnerAPI; + } + + if (agentJob) + agentBlocker =3D priv->job.agentOwnerAPI; =20 if (errno =3D=3D ETIMEDOUT) { - if (blocker) { + if (blocker || agentBlocker) { virReportError(VIR_ERR_OPERATION_TIMEOUT, - _("cannot acquire state change lock (held by %s= )"), - blocker); + _("cannot acquire state change lock (held by %s= %s)"), + NULLSTR(blocker), NULLSTR(agentBlocker)); } else { virReportError(VIR_ERR_OPERATION_TIMEOUT, "%s", _("cannot acquire state change lock")); @@ -6566,11 +6572,11 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driv= er, ret =3D -2; } else if (cfg->maxQueuedJobs && priv->jobs_queued > cfg->maxQueuedJobs) { - if (blocker) { + if (blocker || agentBlocker) { virReportError(VIR_ERR_OPERATION_FAILED, - _("cannot acquire state change lock (held by %s= ) " + _("cannot acquire state change lock (held by %s= %s) " "due to max_queued limit"), - blocker); + NULLSTR(blocker), NULLSTR(agentBlocker)); } else { virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("cannot acquire state change lock " --=20 2.16.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list