From nobody Sat Feb 7 09:29:51 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=1670506395; cv=none; d=zohomail.com; s=zohoarc; b=A3yVsRluOn27Lmu2eNv9OOfgHE7fFLtwb1627U56DKybT2WdB/2v1OKvxU6NipR3AiLy0YVSq/CXAucrSHOGf3E4B7DkWwzsJfze8TvbqwhhlLflK1IV0eS+of1OyDmFmWD03JSqIJgLUnTM7ScH3iumorWiLmRlDl0bXdPuSR4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1670506395; 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=vu8lI9AMgC6MyVHWNaST/DK0rcBoCrvon7RvkHOQ31w=; b=UjjmRpQakw8OkIyzdI1rDrF92LzpOzUW5K1vdORxM4V4HJCsL2olEeLaout/EKIYNQtuTjsx24kF5x1hDZuuFS7//1SnoBb77LbKVXbzB5i3KNDLzALSmaHwvxNGsX7wmhfxalC3vI7SjZ5ze5v16LHkxKv9LRau87knHXVSIZU= 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 1670506395816446.125692243771; Thu, 8 Dec 2022 05:33:15 -0800 (PST) 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-121-AE_IxLPCOGK_4zabbt-iwA-1; Thu, 08 Dec 2022 08:32:21 -0500 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 B77971C0DEA4; Thu, 8 Dec 2022 13:32:04 +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 60D444EA57; Thu, 8 Dec 2022 13:32:04 +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 98C0A1947B85; Thu, 8 Dec 2022 13:31:55 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E53D91946A7C for ; Thu, 8 Dec 2022 13:31:30 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D7F5140C6EC3; Thu, 8 Dec 2022 13:31:30 +0000 (UTC) Received: from localhost.localdomain (ovpn-194-45.brq.redhat.com [10.40.194.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7219040C6E13 for ; Thu, 8 Dec 2022 13:31:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1670506394; 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=vu8lI9AMgC6MyVHWNaST/DK0rcBoCrvon7RvkHOQ31w=; b=Hu/1UFz0XXsSglcNAu0ohMB0+tU35lS6KolZIo/BGTixerl5rQyyLZ/J4+WrXG3eSsHX6K skr2rDdj+GAnyY57oHrayoroKyTXrt8GpJaNva+zSkblMQJ9NB3BHcRghlY7z0dlDTTt6N ayQAYnAksre/gISnOhRdxk8WZ5YxMRw= X-MC-Unique: AE_IxLPCOGK_4zabbt-iwA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Pavel Hrdina To: libvir-list@redhat.com Subject: [libvirt PATCH 22/30] qemu_snapshot: convert snapshot delete to async domain job Date: Thu, 8 Dec 2022 14:30:58 +0100 Message-Id: <737170d31347d148d511d10e90c9ab780e37e004.1670505852.git.phrdina@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 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 3.1 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: 1670506396730100003 Content-Type: text/plain; charset="utf-8"; x-default="true" Deleting external snapshots will require to run it as async domain job, the same way as we do for snapshot creation. For internal snapshots modify the job mask in order to forbid any other job to be started. Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa --- src/qemu/qemu_snapshot.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index adcd4eb73a..97df448363 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -2361,11 +2361,16 @@ qemuSnapshotDiscard(virQEMUDriver *driver, if (qemuDomainSnapshotForEachQcow2(driver, def, snap, "-d", tr= ue) < 0) return -1; } else { + /* Similarly as internal snapshot creation we would use a regu= lar job + * here so set a mask to forbid any other job. */ + qemuDomainObjSetAsyncJobMask(vm, VIR_JOB_NONE); priv =3D vm->privateData; - qemuDomainObjEnterMonitor(vm); + if (qemuDomainObjEnterMonitorAsync(vm, VIR_ASYNC_JOB_SNAPSHOT)= < 0) + return -1; /* we continue on even in the face of error */ qemuMonitorDeleteSnapshot(priv->mon, snap->def->name); qemuDomainObjExitMonitor(vm); + qemuDomainObjSetAsyncJobMask(vm, VIR_JOB_DEFAULT_MASK); } } =20 @@ -2565,8 +2570,11 @@ qemuSnapshotDelete(virDomainObj *vm, VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY | VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY, -1); =20 - if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0) + if (virDomainObjBeginAsyncJob(vm, VIR_ASYNC_JOB_SNAPSHOT, + VIR_DOMAIN_JOB_OPERATION_SNAPSHOT_DELETE, + flags) < 0) { return -1; + } =20 if (!(snap =3D qemuSnapObjFromSnapshot(vm, snapshot))) goto endjob; @@ -2584,7 +2592,7 @@ qemuSnapshotDelete(virDomainObj *vm, } =20 endjob: - virDomainObjEndJob(vm); + virDomainObjEndAsyncJob(vm); =20 return ret; } --=20 2.38.1