From nobody Mon Feb 9 08:30:48 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.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=1621601463; cv=none; d=zohomail.com; s=zohoarc; b=IPpwvtLwBy2CLJnwJ/MHIGCGQzgrzhgAgooFDBWDxh/l/Tblkp9pCHH5Cy3EeSl0lMUOky0Kbrci7qNE7xpbLAJcf80TnzthwQhHc2DON6RuPEZpiBmsMTpSSgsdL658gcJkyolgcTaj/5utainZaUwdivl9BwiH569jtiG7ViM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1621601463; 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=oGFxr0Jr6VMyGSg0T9wFgum/EfZpyeigrELPrA93LB4=; b=YptZgQD40ipUxL29gwqyR8Rg6mxd938kevNnwV3aNUDyCgqTdsvxQp+dNRKr0bCrXa+hwPfgv1P5m/T/R2o+h6zc69mgi/MoN2hdWuBA01vpDQNz1b5GQHZR/T2mYyUbodENvG14JsXqLXRSk8FwBuA+he8FQ11BQwBRdYw2kVw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.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 [216.205.24.124]) by mx.zohomail.com with SMTPS id 1621601463644687.0698965595038; Fri, 21 May 2021 05:51:03 -0700 (PDT) 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-579-er6_NBP4OlGUYBaNiyW04A-1; Fri, 21 May 2021 08:48:39 -0400 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 42EE9A40EC; Fri, 21 May 2021 12:48:32 +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 26F8362677; Fri, 21 May 2021 12:48:32 +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 E4EED44A64; Fri, 21 May 2021 12:48:31 +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 14LCmR0i031570 for ; Fri, 21 May 2021 08:48:27 -0400 Received: by smtp.corp.redhat.com (Postfix) id C637C5945B; Fri, 21 May 2021 12:48:27 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.14]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2CDB4421F for ; Fri, 21 May 2021 12:48:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1621601462; 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=oGFxr0Jr6VMyGSg0T9wFgum/EfZpyeigrELPrA93LB4=; b=Ns1a99M6tpOM9meL+HiC55Zaxvdi9tseyqPNuSptWffmSv6UX9//4TFDS3AnbkIBKT9NLD EHkox7/EI6AavdSjXUtdclyuglF/G8h19BHbZ4hx0hz68E9BOn/eNJgCFSuBxFGUpkzzCW LA6PMnXrvQJZFHRaC1FKoRNlOgpYGnw= X-MC-Unique: er6_NBP4OlGUYBaNiyW04A-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 31/35] qemuDomainAttachDiskGeneric: Pass the qemu async job type Date: Fri, 21 May 2021 14:47:31 +0200 Message-Id: <163e1e26816a26e9970e9c6aca1cf05d953e1f75.1621601161.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 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" The qemuDomainAttachDiskGeneric will also be used on startup for transient disks which share the overlay. The VM startup code passes the asyncJob around so we need to pass it into qemuDomainAttachDiskGeneric. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_hotplug.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 59832ea2b3..03649634c5 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -689,13 +689,14 @@ qemuDomainChangeEjectableMedia(virQEMUDriver *driver, static qemuSnapshotDiskContext * qemuDomainAttachDiskGenericTransient(virDomainObj *vm, virDomainDiskDef *disk, - GHashTable *blockNamedNodeData) + GHashTable *blockNamedNodeData, + qemuDomainAsyncJob asyncJob) { g_autoptr(qemuSnapshotDiskContext) snapctxt =3D NULL; g_autoptr(virDomainSnapshotDiskDef) snapdiskdef =3D NULL; snapdiskdef =3D qemuSnapshotGetTransientDiskDef(disk, vm->def->name); - snapctxt =3D qemuSnapshotDiskContextNew(1, vm, QEMU_ASYNC_JOB_NONE); + snapctxt =3D qemuSnapshotDiskContextNew(1, vm, asyncJob); if (qemuSnapshotDiskPrepareOne(snapctxt, disk, snapdiskdef, blockNamedNodeData, false, false) < 0) @@ -713,7 +714,8 @@ qemuDomainAttachDiskGenericTransient(virDomainObj *vm, static int qemuDomainAttachDiskGeneric(virQEMUDriver *driver, virDomainObj *vm, - virDomainDiskDef *disk) + virDomainDiskDef *disk, + qemuDomainAsyncJob asyncJob) { g_autoptr(qemuBlockStorageSourceChainData) data =3D NULL; qemuDomainObjPrivate *priv =3D vm->privateData; @@ -750,7 +752,8 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, disk->src->readonly =3D origReadonly; - qemuDomainObjEnterMonitor(driver, vm); + if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) + return -1; rc =3D qemuBlockStorageSourceChainAttach(priv->mon, data); @@ -764,10 +767,10 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, g_autoptr(qemuBlockStorageSourceAttachData) backend =3D NULL; g_autoptr(GHashTable) blockNamedNodeData =3D NULL; - if (!(blockNamedNodeData =3D qemuBlockGetNamedNodeData(vm, QEMU_AS= YNC_JOB_NONE))) + if (!(blockNamedNodeData =3D qemuBlockGetNamedNodeData(vm, asyncJo= b))) goto rollback; - if (!(transientDiskSnapshotCtxt =3D qemuDomainAttachDiskGenericTra= nsient(vm, disk, blockNamedNodeData))) + if (!(transientDiskSnapshotCtxt =3D qemuDomainAttachDiskGenericTra= nsient(vm, disk, blockNamedNodeData, asyncJob))) goto rollback; @@ -782,7 +785,8 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, if (!(devstr =3D qemuBuildDiskDeviceStr(vm->def, disk, priv->qemuCaps)= )) goto rollback; - qemuDomainObjEnterMonitor(driver, vm); + if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) + goto rollback; if ((rc =3D qemuDomainAttachExtensionDevice(priv->mon, &disk->info)) = =3D=3D 0) extensionDeviceAttached =3D true; @@ -814,7 +818,8 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, return 0; rollback: - qemuDomainObjEnterMonitor(driver, vm); + if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) + return -1; if (extensionDeviceAttached) ignore_value(qemuDomainDetachExtensionDevice(priv->mon, &disk->inf= o)); @@ -1077,7 +1082,7 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver = *driver, if (qemuHotplugAttachManagedPR(driver, vm, disk->src, QEMU_ASYNC_JOB_N= ONE) < 0) goto cleanup; - ret =3D qemuDomainAttachDiskGeneric(driver, vm, disk); + ret =3D qemuDomainAttachDiskGeneric(driver, vm, disk, QEMU_ASYNC_JOB_N= ONE); virDomainAuditDisk(vm, NULL, disk->src, "attach", ret =3D=3D 0); --=20 2.31.1