From nobody Mon Sep 8 21:35:44 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=1748870886; cv=none; d=zohomail.com; s=zohoarc; b=IxdCU+DJahWtTaiHTw0SHV4EIpsb1ZClix0RvhI93Tu29ABo5ou3+yeZS8cNssVR2OSoM7eA7D59/m2mVWUfLFOC0hM1mo6tMCI+UCZ8X0px7qlOrMI6PhSEvzwu8A5OUDeSyFaJwMmSIlz/6sIUekBk/hMkNd5W27KvueGYIuU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748870886; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Subject:Subject:To:To:Message-Id:Cc; bh=PSDFDwFmzU2ctjtGBEYw5T/rGa9OMCepXlZqlL9AYNM=; b=F0V970+ELKA1wYV4vG4xiQqj9Mr0LBEKxV6FYvGklQFwk4QQFGdf5VssDv9KNFrKK5aGI02wh+eZzkX+7JfqCH7v7z9nJbmURtlIXxSr+8HNLwmaetEyQOEMs9iMFVaVKPwVenmcaYRqURmWe7Zb0OvdUnRtpGr3eHOQ8lVOETE= 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 174887088599759.34417654009269; Mon, 2 Jun 2025 06:28:05 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 5BDAF14EB; Mon, 2 Jun 2025 09:28:04 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 631B614A9; Mon, 2 Jun 2025 09:27:44 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 01FD21485; Mon, 2 Jun 2025 09:27:41 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 7C20F1481 for ; Mon, 2 Jun 2025 09:27:40 -0400 (EDT) Received: from mx-prod-mc-02.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-201-3sYrfrNxNTKBfFPydgfLkQ-1; Mon, 02 Jun 2025 09:27:38 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CCC58195608B for ; Mon, 2 Jun 2025 13:27:37 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.3.236]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 23627180049D for ; Mon, 2 Jun 2025 13:27:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1748870860; 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; bh=lFw7LL+pVrpSg37bJTrqn31JSBL5BTt7KydUwAi0Aew=; b=hCHSQ6aBU2uV1WRRhNY1T1HZB+trseuDT5Ir+0sF+AFpPft3tz238KIgMfdA+B9CRjfifV Hh4yX+Bc4QCzkGw++8mLOSH9JgBqPrqn6K64XxyWSXwpm5+hg7LvmOE3PsSLhXQ9UA7nIJ nx2HRbLehrkN2vDGwIWkGdxTTJWhOC8= X-MC-Unique: 3sYrfrNxNTKBfFPydgfLkQ-1 X-Mimecast-MFC-AGG-ID: 3sYrfrNxNTKBfFPydgfLkQ_1748870857 To: devel@lists.libvirt.org Subject: [PATCH] lib: Document VIR_DUMP_LIVE flag quirk Date: Mon, 2 Jun 2025 15:27:32 +0200 Message-ID: <108385dc54b4715f9f85a91529127d2c88b5e87a.1748870852.git.mprivozn@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Hy9ExVWHN59W-x35QRkW7p7TmXaLneu-KOb6Ho1Yu1Q_1748870857 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: PP7KRRWN3PPIDDYW5ZC3NFH7C5UI2TBA X-Message-ID-Hash: PP7KRRWN3PPIDDYW5ZC3NFH7C5UI2TBA X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1748870887832116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik The virDomainCoreDump() API has VIR_DUMP_LIVE flag which is documented to leave vCPUs running throughout making of the dump of guest memory. Well, this is not the case for QEMU which pauses vCPUs unconditionally (it calls vm_stop() in dump_init()). Document this quirk. And also mention it in 'virsh dump --live' manapage. Resolves: https://gitlab.com/libvirt/libvirt/-/issues/646 Signed-off-by: Michal Privoznik --- docs/manpages/virsh.rst | 3 ++- src/libvirt-domain.c | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index 3a00778467..14f22b32c3 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -2927,7 +2927,8 @@ dump =20 Dumps the core of a domain to a file for analysis. If *--live* is specified, the domain continues to run until the core -dump is complete, rather than pausing up front. +dump is complete, rather than pausing up front. Although, the hypervisor m= ight +still decide to pause the guest's vCPUs. If *--crash* is specified, the domain is halted with a crashed status, rather than merely left in a paused state. If *--reset* is specified, the domain is reset after successful dump. diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c index 93e8f5b853..6d1cd2dba1 100644 --- a/src/libvirt-domain.c +++ b/src/libvirt-domain.c @@ -1445,6 +1445,8 @@ virDomainSaveImageDefineXML(virConnectPtr conn, const= char *file, * the guest to run; otherwise, the guest is suspended during the dump. * VIR_DUMP_RESET flag forces reset of the guest after dump. * The above three flags are mutually exclusive. + * However, note that even if VIR_DUMP_LIVE flag is specified, the hypervi= sor + * might temporarily suspend the guest vCPUs anyway. * * Additionally, if @flags includes VIR_DUMP_BYPASS_CACHE, then libvirt * will attempt to bypass the file system cache while creating the file, --=20 2.49.0