From nobody Tue Oct 28 17:50:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1760363357; cv=none; d=zohomail.com; s=zohoarc; b=kNDMpuEjL+329lhJffriAm02ybR0C614QzNZIj3rimZmh1EvrrjljE3k/iYROVsmojMOmWtCDE9Fr/xGqoeRDr706+nxdX/ZXvbQPuMCkQaHaORsTeSE4gFwBNIkBN5ubclYy2cVLeouZYFWEC+xGAoHVYnQSXKarQJtc/CZuqQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760363357; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=HIy2nOmfThYxjTyjDx3BLGXldXXyfx+im4rmLYlYluQ=; b=Qwbb2D5kN5qwJ1wFfrW+b8qLJh9IWwcjPoYIeysInm5b6TF0r5nX3VTLSDpYkh3qJfwTXEGfRVxEeZAeZodwO5dd2zi0dADMVzNwyQdx4q+yzsNdfhYuYy6e4qwDXTLte9Xb9Ks9kgmy4fvmKSGlQ42tY58grPErAzUc/LZ9Sns= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1760363357313980.2432570804766; Mon, 13 Oct 2025 06:49:17 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 3B46144240; Mon, 13 Oct 2025 09:49:16 -0400 (EDT) Received: from [172.19.199.20] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 1F69A441B5; Mon, 13 Oct 2025 09:41:59 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 1615A44294; Mon, 13 Oct 2025 09:41:32 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id E9FF0440BA for ; Mon, 13 Oct 2025 09:41:13 -0400 (EDT) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-597-XOQ3CrPLOlKXQlpTGJWgzQ-1; Mon, 13 Oct 2025 09:41:06 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CCA501955E9A for ; Mon, 13 Oct 2025 13:41:05 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.15]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 21CB51800283 for ; Mon, 13 Oct 2025 13:41:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1760362873; h=from:from: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; bh=HIy2nOmfThYxjTyjDx3BLGXldXXyfx+im4rmLYlYluQ=; b=XuhWJEDjY+WeVbvjr1wGJnmogusSMssnnZn3bdPpdJriP+JM2wAWU6+lrDAzVPSQMK3WkR Xte4h7dVX7iuNJYA8m80Zopg9RQcy/1B43fqys39LfpRATZInEnv3bUTjsOUwSqC0D2fp6 Sc1ZVeEKkhcBLfowLm64Wz9t22nppB8= X-MC-Unique: XOQ3CrPLOlKXQlpTGJWgzQ-1 X-Mimecast-MFC-AGG-ID: XOQ3CrPLOlKXQlpTGJWgzQ_1760362865 To: devel@lists.libvirt.org Subject: [PATCH 6/7] qemu: snapshot: Allow snapshot consisting only of 'manual'-y handled disks Date: Mon, 13 Oct 2025 15:40:55 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: HBAeJiS8D98NhglGw_tyGx1dRN7rLJQtrlX2Y_bBiDc_1760362865 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: KLNCEGDRUUBGLQX6VYVYDU4DQ52KLGTO X-Message-ID-Hash: KLNCEGDRUUBGLQX6VYVYDU4DQ52KLGTO X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1760363360061154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The 'manual' snapshot mode is meant for disks where the users wants to take a snapshot via means outside of libvirt, e.g. on a SAN network. Allow creating a snapshot which consists entirely of 'manual' disks. For now this effectively means that the VM will be paused but in the future more logic can be added to ensure consistency. Signed-off-by: Peter Krempa --- src/qemu/qemu_snapshot.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index 5c12dca892..d4994dd54e 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -996,7 +996,7 @@ qemuSnapshotPrepare(virDomainObj *vm, } } - if (!found_internal && !external && + if (!found_internal && !external && !*has_manual && def->memory =3D=3D VIR_DOMAIN_SNAPSHOT_LOCATION_NO) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("nothing selected for snapshot")); @@ -1013,7 +1013,7 @@ qemuSnapshotPrepare(virDomainObj *vm, } /* disk snapshot requires at least one disk */ - if (def->state =3D=3D VIR_DOMAIN_SNAPSHOT_DISK_SNAPSHOT && !external) { + if (def->state =3D=3D VIR_DOMAIN_SNAPSHOT_DISK_SNAPSHOT && !external &= & !*has_manual) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("disk-only snapshots require at least one disk to= be selected for snapshot")); return -1; --=20 2.51.0