From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 7546C1FF38C for ; Fri, 17 May 2024 16:30:49 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2F1FC14A37; Fri, 17 May 2024 16:31:02 +0200 (CEST) Message-ID: <396e3804-610a-4f8e-ac1c-ddbf4705947b@proxmox.com> Date: Fri, 17 May 2024 16:30:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Fiona Ebner To: pve-devel@lists.proxmox.com References: <20240517113934.232063-1-f.ebner@proxmox.com> Content-Language: en-US In-Reply-To: <20240517113934.232063-1-f.ebner@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.065 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [RFC qemu] savevm-async: improve check for blockers X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Am 17.05.24 um 13:39 schrieb Fiona Ebner: > Same rationale as with upstream QEMU commit 5aaac46793 ("migration: > savevm: consult migration blockers"), migration and (async) snapshot > are essentially the same operation and thus snapshot also needs to > check for migration blockers. For example, this catches passed-through > PCI devices, where the driver does not support migration. > > However, the commit notes: > >> There is really no difference between live migration and savevm, except >> that savevm does not require bdrv_invalidate_cache to be implemented >> by all disks. However, it is unlikely that savevm is used with anything >> except qcow2 disks, so the penalty is small and worth the improvement >> in catching bad usage of savevm. > > and for Proxmox VE, suspend-to-disk with VMDK does use savevm-async > and would be broken by simply using migration_is_blocked(). To keep > this working, introduce a new helper that filters blockers with the > prefix used by the VMDK migration blocker. > > The function qemu_savevm_state_blocked() is called as part of > migration_is_blocked_allow_prefix() so no check is lost with this > patch. > > Signed-off-by: Fiona Ebner > --- > > An alternative would be to mark the VMDK blocker as a > "live-migration-only" blocker and extending migration_is_blocked() or > using separate helpers to check for migration and snapshot blockers > differently. But that requires touching more machinery and probably > needs more adaptation going forward than the approach here. > So, this also "breaks" and at the same time fixes snapshot and hibernate with VNC clipboard by preventing it. Currently, we do not have any checks in the snapshot and hibernate API calls for the VNC clipboard and they "work", but the clipboard will be broken after restore (and I mean broken, not just the contents lost). So some users might consider adding such checks (and this patch) a breaking change even if it's technically correct to prevent snapshot and hibernate with VNC clipboard. And other users might (rightly) complain about broken clipboard. _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel