From nobody Fri May 17 03:39:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.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.133.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=1660142781; cv=none; d=zohomail.com; s=zohoarc; b=J946FMuwCVP86VY3qoQf6Z+uo0PpoWceURz78n1FzmsVE2AgraTTSq0sicPEBlAV1s+rWUy08JmsDAWJKvjUyKfLkD+3Azy+V90gX1/L7+nM0yrKs8yGKFJoHzosxr7oN6iQz0EWdBz06oay1yJPhLNlzq806t8ogluIH+AEG7w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660142781; 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=Ip2UPsHofEIriEMJJ7DKjRGcENJX3d3v4c4sJnTbpxk=; b=A6XeCoRHJlguKpeDmNhHOO1sKjABsmFGPC29nySGSwUs3yZ6j+baWLgoMtoyIEc2OtVC6ZXk+5N25Z8N0/AoLvoo0eZmd3NKDeGOJ+sHJ/z4xgyu8CQQR6FY7BYZYJKS98IxP0zHnJl/ng1WWG3IeD7R9YjLYLWyXZo/Zsut14U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.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.133.124]) by mx.zohomail.com with SMTPS id 1660142781498473.8113368313816; Wed, 10 Aug 2022 07:46:21 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-62-0J3jPW1_PROCEC2WyFbiwA-1; Wed, 10 Aug 2022 10:46:17 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 84FD61019C95; Wed, 10 Aug 2022 14:46:15 +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 721692026D4C; Wed, 10 Aug 2022 14:46:15 +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 15A671946A50; Wed, 10 Aug 2022 14:46:15 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0A8CF1946A4F for ; Wed, 10 Aug 2022 14:06:52 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id C87941121319; Wed, 10 Aug 2022 14:06:51 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4A5E31121314 for ; Wed, 10 Aug 2022 14:06:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660142780; 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=Ip2UPsHofEIriEMJJ7DKjRGcENJX3d3v4c4sJnTbpxk=; b=SqlpZdmHruwJMNhFoaBJCYixuKjtM9Ppnwi1ktWsDyoeiicYPGJ8JbiMTRdmzguJeOG7/l Bt6rgnS8/UOMgsyKf4DYSVPjQYjWug7zd2ZSrRLNAUcCvfjmDNiLudxskndzB2eyLapf2P VkCFLZXujhq2c5BwdYrK5NUMEzrsHsA= X-MC-Unique: 0J3jPW1_PROCEC2WyFbiwA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 1/4] qemuProcessBeginStopJob: Add debug log when waking up all threads waiting on domain condition Date: Wed, 10 Aug 2022 16:06:46 +0200 Message-Id: <4c646e708928cce8c1e3dceed46e57244b63230b.1660140387.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 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.4 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: 1660142782379100001 Content-Type: text/plain; charset="utf-8" Aid in debugging of potentially stuck threads. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 478a46bff6..0f30247817 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8145,6 +8145,7 @@ qemuProcessBeginStopJob(virQEMUDriver *driver, goto cleanup; /* Wake up anything waiting on domain condition */ + VIR_DEBUG("waking up all jobs waiting on the domain condition"); virDomainObjBroadcast(vm); if (qemuDomainObjBeginJob(driver, vm, job) < 0) --=20 2.37.1 From nobody Fri May 17 03:39:42 2024 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=1660140437; cv=none; d=zohomail.com; s=zohoarc; b=Z+4qzR8CzleZHHe3fTj4tTIZuaZcsN+j62EPd6GHl8EFzlOfbGoKYWy+3GH+azkcc4M95mHY4yBEsOlyjgJp0tewUPOZ/DFF0xdApMcCBpgViJlDwPR03PEKgJ5NTAvo46z6DQZn2mVfl2FZ8BZSYKJ1PcwydW8z2L5zEkgtd98= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660140437; 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=1gv0uxmTxiYapVWH67BQgmNJJbuxHopG5h4+rhzy4t4=; b=ExjOsFSNI0tVTP3bDMgE4XzlSfZREYVjb8Bzq+NjfbAB1RdepBjREAgeNDsDEDLWuj+pYtFRnrUgzOIeZ2j4OM3vhVrLmtjHt4fTfHcypV+TOnw9bZxTAeNtcctLZBYUZtDbE1TC5aruBFEx/ppkUY5iWjGZBs+VDKxD8qnHMuU= 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 1660140437637490.45899432191595; Wed, 10 Aug 2022 07:07:17 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-617-axHigP1yPOapVPSFWuy6cQ-1; Wed, 10 Aug 2022 10:07:12 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5A721803DD5; Wed, 10 Aug 2022 14:07:07 +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 4220D492C3B; Wed, 10 Aug 2022 14:07:07 +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 015AD1946A50; Wed, 10 Aug 2022 14:07:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D22D11946A4F for ; Wed, 10 Aug 2022 14:06:52 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id B5624112131E; Wed, 10 Aug 2022 14:06:52 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 31938112131B for ; Wed, 10 Aug 2022 14:06:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660140436; 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=1gv0uxmTxiYapVWH67BQgmNJJbuxHopG5h4+rhzy4t4=; b=Uyu5vlmN5JcCoyqirAYPZWB64/RBzuj57Oj1VLzrgSeRzWYWpnDI94Py1vS45vWzrpoAZP raCpF39miuroT9oCyFiv2/WWuZY5Xg5T6B7f9vYRak3gwGnDEBNEyhffgyRjWuZxg8gpOe O/Ns/ozmiWQIQmVEg86cjCGTVbXaxXE= X-MC-Unique: axHigP1yPOapVPSFWuy6cQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 2/4] qemu: Replace virDomainObjWait with qemuDomainObjWait Date: Wed, 10 Aug 2022 16:06:47 +0200 Message-Id: <71c07ac792d8101277223cb51afaa6a2c2cde923.1660140387.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 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.85 on 10.11.54.9 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: 1660140438984100001 Content-Type: text/plain; charset="utf-8" The qemu code will need to check other qemu-private conditions when reporting success for waiting. Thus we must replace all use of it with a qemu-specific helper. For now the helper forwards directly to virDomainObjWait. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 2 +- src/qemu/qemu_domain.c | 7 +++++++ src/qemu/qemu_domain.h | 3 +++ src/qemu/qemu_driver.c | 4 ++-- src/qemu/qemu_migration.c | 12 ++++++------ 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 9fe22f18f2..bd95fe8a1f 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -2713,7 +2713,7 @@ qemuBlockStorageSourceCreateGeneric(virDomainObj *vm, qemuBlockJobUpdate(vm, job, asyncJob); while (qemuBlockJobIsRunning(job)) { - if (virDomainObjWait(vm) < 0) + if (qemuDomainObjWait(vm) < 0) goto cleanup; qemuBlockJobUpdate(vm, job, asyncJob); } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index bc5961a09f..f68b7030c5 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11780,3 +11780,10 @@ qemuDomainRemoveLogs(virQEMUDriver *driver, return 0; } + + +int +qemuDomainObjWait(virDomainObj *vm) +{ + return virDomainObjWait(vm); +} diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 4680df1098..ce59c3e766 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -1108,3 +1108,6 @@ qemuDomainDeviceBackendChardevForeach(virDomainDef *d= ef, int qemuDomainRemoveLogs(virQEMUDriver *driver, const char *name); + +int +qemuDomainObjWait(virDomainObj *vm); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 019ec4a035..254957deba 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3033,7 +3033,7 @@ qemuDumpWaitForCompletion(virDomainObj *vm) VIR_DEBUG("Waiting for dump completion"); while (!jobPriv->dumpCompleted && !priv->job.abortJob) { - if (virDomainObjWait(vm) < 0) + if (qemuDomainObjWait(vm) < 0) return -1; } @@ -14707,7 +14707,7 @@ qemuDomainBlockJobAbort(virDomainPtr dom, if (!async) { qemuBlockJobUpdate(vm, job, VIR_ASYNC_JOB_NONE); while (qemuBlockJobIsRunning(job)) { - if (virDomainObjWait(vm) < 0) { + if (qemuDomainObjWait(vm) < 0) { ret =3D -1; goto endjob; } diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 9eda279a84..b05bbce910 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -933,7 +933,7 @@ qemuMigrationSrcNBDCopyCancel(virQEMUDriver *driver, if (failed && !err) virErrorPreserveLast(&err); - if (virDomainObjWait(vm) < 0) + if (qemuDomainObjWait(vm) < 0) goto cleanup; } @@ -1321,7 +1321,7 @@ qemuMigrationSrcNBDStorageCopy(virQEMUDriver *driver, return -1; } - if (virDomainObjWait(vm) < 0) + if (qemuDomainObjWait(vm) < 0) return -1; } @@ -1798,7 +1798,7 @@ qemuMigrationSrcWaitForSpice(virDomainObj *vm) VIR_DEBUG("Waiting for SPICE to finish migration"); while (!jobPriv->spiceMigrated && !priv->job.abortJob) { - if (virDomainObjWait(vm) < 0) + if (qemuDomainObjWait(vm) < 0) return -1; } return 0; @@ -2096,7 +2096,7 @@ qemuMigrationSrcWaitForCompletion(virQEMUDriver *driv= er, if (rv < 0) return rv; - if (virDomainObjWait(vm) < 0) { + if (qemuDomainObjWait(vm) < 0) { if (virDomainObjIsActive(vm)) jobData->status =3D VIR_DOMAIN_JOB_STATUS_FAILED; return -2; @@ -2135,7 +2135,7 @@ qemuMigrationDstWaitForCompletion(virQEMUDriver *driv= er, while ((rv =3D qemuMigrationAnyCompleted(driver, vm, asyncJob, NULL, flags)) !=3D 1) { - if (rv < 0 || virDomainObjWait(vm) < 0) + if (rv < 0 || qemuDomainObjWait(vm) < 0) return -1; } @@ -4983,7 +4983,7 @@ qemuMigrationSrcRun(virQEMUDriver *driver, */ while (virDomainObjGetState(vm, NULL) =3D=3D VIR_DOMAIN_RUNNING) { priv->signalStop =3D true; - rc =3D virDomainObjWait(vm); + rc =3D qemuDomainObjWait(vm); priv->signalStop =3D false; if (rc < 0) goto error; --=20 2.37.1 From nobody Fri May 17 03:39:42 2024 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=1660140439; cv=none; d=zohomail.com; s=zohoarc; b=OASTfEyosb6xrTaB5fNg08TeJJ8se1E/YgjWm42Jr902FRdTEXHUBOu4Gwv3wk2LZgYBteOhP/+h5SSU+jZigqBnrxA3gMhyAhtaSgbgVinJpcnjJ+626Q/yGYJp/3S64if3BYxpA0zg43wSQtGYp74UoMnREeFUEUxayDHJwIE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660140439; 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=VQ8E6YX6ShejB4aUC4b78k0WVGKvk+0IUdq04RENJn4=; b=mn56iKT1yvc5HpPBD6NXIcohFe+vFaXUA2AqRXd/yJmEo2opO9ElMqBNYHX/bG86mttKkGQYr5C1AbbMpGNMGwFnCozVLR8Cs4cbDzSTPeJrb81ZlJZlxmkOGFbq7q73ArwqHpYhgnyMxVd2pOwXekI18jRirXbPdflrgr4HTms= 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 1660140439616115.94492401894843; Wed, 10 Aug 2022 07:07:19 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-45-Tw9hCn-ZN1ejNf7FtuavyQ-1; Wed, 10 Aug 2022 10:07:13 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8193B824072; Wed, 10 Aug 2022 14:07:08 +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 6B6D894585; Wed, 10 Aug 2022 14:07:08 +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 4D7C1194F843; Wed, 10 Aug 2022 14:07:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B4E331946A4F for ; Wed, 10 Aug 2022 14:06:53 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id A852F1121314; Wed, 10 Aug 2022 14:06:53 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 170A91121319 for ; Wed, 10 Aug 2022 14:06:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660140437; 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=VQ8E6YX6ShejB4aUC4b78k0WVGKvk+0IUdq04RENJn4=; b=O0fYioAK8MlSz0b503kuEqaJlbBb+wzqen0WNtZfkiZWPa8eE9WvfnJ02K96dYs6USXh3b JpzqPTtdtohCfiKbRugUjd+TY248TiAFNG+hNV4HvFzMdord7h1yAjUBy1/TSxcEC/2OUa XPStMU04fKv7Yc6Lr7Ix9ceeO9sxNLQ= X-MC-Unique: Tw9hCn-ZN1ejNf7FtuavyQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 3/4] qemuDomainObjWait: Report error when VM is being destroyed Date: Wed, 10 Aug 2022 16:06:48 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 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.79 on 10.11.54.5 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: 1660140441046100003 Content-Type: text/plain; charset="utf-8" Since we started handing the monitor EOF event inside a job any code which uses virDomainObjWait would no longer properly abort in case when the VM crashed during the wait. This is because virDomainObjWait uses virDomainObjIsActive which checks 'vm->def->id' to see if the VM is still active. Unfortunately the domain id is cleared in qemuProcessStop which is run only inside the job. To fix this we can use the 'beingDestroyed' flag stored in the VM private data which is set to true around the time when the condition is signalled. Reported-by: Pavel Hrdina Fixes: 8c9ff9960b29d4703a99efdd1cadcf6f48799cc0 Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index f68b7030c5..d3b7fcc933 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11785,5 +11785,15 @@ qemuDomainRemoveLogs(virQEMUDriver *driver, int qemuDomainObjWait(virDomainObj *vm) { - return virDomainObjWait(vm); + qemuDomainObjPrivate *priv =3D vm->privateData; + + if (virDomainObjWait(vm) < 0) + return -1; + + if (priv->beingDestroyed) { + virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("domain is not ru= nning")); + return -1; + } + + return 0; } --=20 2.37.1 From nobody Fri May 17 03:39:42 2024 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=1660143984; cv=none; d=zohomail.com; s=zohoarc; b=YuJe8J6/Fd6GPASQljSi+03eMU2vNkdlrwldFsiKYbzlQrcPYCNRusycrETJ5wsJe56unCJqN/EvhDdCWE/sXR6DzWvkhkGfTQo8eYaU8SPe3O4fxxinO/bttgCnYwkE8iIU13ptOKweadtaCEzi5vBlTpx5BewMn64cZQD9bd4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660143984; 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=vPt85ZT1G4ElC0afTJeQv8oDgZ+4ClfK/H0uV4UMX5Y=; b=hhZDbxiWvyUzsCs/yubjS/J+BBv5fBdFdIjVUuvgS9E/PhBdsPaqR/DzLqvHg/FuOK8i9i73O3zmsXUltCk0oNnPrldgSUYgINskoLMBh96vestLIVIKGgT2/9Q35sE75hu/FqDNARZY2XMHReYH0iXICwijBlBhm6sFqXsnxds= 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 1660143984220839.338455620027; Wed, 10 Aug 2022 08:06:24 -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-623-qV0cNO_WPvaOresDs9MsKw-1; Wed, 10 Aug 2022 11:06:19 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B7D393C138AF; Wed, 10 Aug 2022 15:06:13 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id B48A9403341; Wed, 10 Aug 2022 15:06:12 +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 4A9301946A50; Wed, 10 Aug 2022 15:06:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B70431946A4F for ; Wed, 10 Aug 2022 14:06:54 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id ABAAB1121315; Wed, 10 Aug 2022 14:06:54 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0DA501121314 for ; Wed, 10 Aug 2022 14:06:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660143982; 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=vPt85ZT1G4ElC0afTJeQv8oDgZ+4ClfK/H0uV4UMX5Y=; b=aUDfAxwh19bEhm2QUHJWZTHKqujHTuiJMcXu6f7NqezwX45tprEc152G2PIJxhWohLNmcY RcRhuz1916ohd4ZND/Cy4H2di1Uf9z27qBMEZyrjDtoBG5XIOIH1OqR4rSPWZApwO+TUWO OXViABFXDDCuydbRx+oLVr2aXmvGeyc= X-MC-Unique: qV0cNO_WPvaOresDs9MsKw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 4/4] DO_NOT_APPLY_UPSTREAM: reproducer Date: Wed, 10 Aug 2022 16:06:49 +0200 Message-Id: <3a2de71452c5021009fdc077be38bfdccf2176fa.1660140387.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 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.85 on 10.11.54.10 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: 1660143986057100001 Content-Type: text/plain; charset="utf-8" To reproduce the problem apply this patch and run a block copy job: virsh blockcopy cd hda /tmp/ble.img --transient-job --pivot Prior to the fix the virsh call will hang and the VM will not be usable any more. Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 254957deba..f51c70eb21 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14705,6 +14705,7 @@ qemuDomainBlockJobAbort(virDomainPtr dom, qemuDomainSaveStatus(vm); if (!async) { + kill(vm->pid, 11); qemuBlockJobUpdate(vm, job, VIR_ASYNC_JOB_NONE); while (qemuBlockJobIsRunning(job)) { if (qemuDomainObjWait(vm) < 0) { --=20 2.37.1