From nobody Mon Feb 9 06:27:11 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.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=1607094816; cv=none; d=zohomail.com; s=zohoarc; b=i9Y7FMBwHl9juLFMZ5eSoZyLEbmg9vekileiiQjQhJIVZX6y3/C1zpszid2+RWw0FOFnIj3L00/0awJ7xs8LkZEmEG0MOpCFg1cl6Hqj6iHo+NJafYnwrHd7qZE6bcBT4zZSMNA/OuhPzp5dXHDAVuCjyanWh52Mt5mAaha66Ks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607094816; 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=UkBqfwW3FgIw4gQW3x45cjTncUouBf1kuHFRSRt6xlg=; b=b+rMRDo/q59moAmXHmi7HOUFfcIqhKq92RR4R62x7nBTUmvMLf8h51N/WNk4Dm5EF3eWE24Uoqt/VVKVgBOjsZUnkvC98JOJSMY1xvb/KkC6a+VYIZuZ7PzsO1dP2CBWYlcjf75HG1CFY5EIfdKZpxAO3TyUWkTNpXVRjKxyZvA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTP id 1607094816489392.0533407723882; Fri, 4 Dec 2020 07:13:36 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-572-W-387mA1Oxu77y-SrZgUNg-1; Fri, 04 Dec 2020 10:08:30 -0500 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id DE311C292; Fri, 4 Dec 2020 15:08:23 +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 B747E5D6D3; Fri, 4 Dec 2020 15:08:23 +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 825C24E58E; Fri, 4 Dec 2020 15:08:23 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0B4F8MQA031322 for ; Fri, 4 Dec 2020 10:08:22 -0500 Received: by smtp.corp.redhat.com (Postfix) id 1DBD65D9DC; Fri, 4 Dec 2020 15:08:22 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.3]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7EFE65D9CA for ; Fri, 4 Dec 2020 15:08:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607094512; 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=UkBqfwW3FgIw4gQW3x45cjTncUouBf1kuHFRSRt6xlg=; b=IKql6qN4OroHVbMOMK+6IRnXarQDZ8iWLEPbkSx+0Y1Au1xOZK2kNBTjG9AckWnpx7LZCA bJluyE/aFcI56+oFbuRrfQA9P3umn6vVOluO7HfYW31ZaD9BKZvNJWVCLTzhqK/NtQ4qmF fqUtSuW3Q3wJaZOrquKDinj65zIPikM= X-MC-Unique: W-387mA1Oxu77y-SrZgUNg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 7/7] qemuDomainGetBlockJobInfo: Work stats for unfinished pre-blockdev blockjob Date: Fri, 4 Dec 2020 16:08:02 +0100 Message-Id: <20ea8af8126d47887423a1cea869b964a2909f6a.1607094319.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" If the job has finished, but we didn't yet process the completion fake that it's still incomplete so that apps which decided to poll qemuDomainGetBlockJobInfo rather than use events can be sure that the XML update was completed. Signed-off-by: Peter Krempa --- src/qemu/qemu_driver.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e2fde6c76f..3051d2c7ca 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14642,6 +14642,15 @@ qemuBlockJobInfoTranslate(qemuMonitorBlockJobInfoP= tr rawInfo, virDomainDiskDefPtr disk, bool reportBytes) { + /* If the job data is no longer present this means that the job already + * disappeared in qemu (pre-blockdev) but libvirt didn't process the + * finishing yet. Fake a incomplete job. */ + if (!rawInfo) { + info->cur =3D 0; + info->end =3D 1; + return 0; + } + info->cur =3D rawInfo->cur; info->end =3D rawInfo->end; @@ -14727,10 +14736,7 @@ qemuDomainGetBlockJobInfo(virDomainPtr dom, if (qemuDomainObjExitMonitor(driver, vm) < 0 || !blockjobstats) goto endjob; - if (!(rawInfo =3D g_hash_table_lookup(blockjobstats, job->name))) { - ret =3D 0; - goto endjob; - } + rawInfo =3D g_hash_table_lookup(blockjobstats, job->name); if (qemuBlockJobInfoTranslate(rawInfo, info, disk, flags & VIR_DOMAIN_BLOCK_JOB_INFO_BANDWI= DTH_BYTES) < 0) --=20 2.28.0