From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <a.lauterer@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 6D0C89992F
 for <pve-devel@lists.proxmox.com>; Tue,  2 May 2023 15:17:35 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 5677B3109F
 for <pve-devel@lists.proxmox.com>; Tue,  2 May 2023 15:17:35 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS
 for <pve-devel@lists.proxmox.com>; Tue,  2 May 2023 15:17:33 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 7C04E46DDB
 for <pve-devel@lists.proxmox.com>; Tue,  2 May 2023 15:17:33 +0200 (CEST)
From: Aaron Lauterer <a.lauterer@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Tue,  2 May 2023 15:17:30 +0200
Message-Id: <20230502131732.1875692-1-a.lauterer@proxmox.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.089 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
 T_SCC_BODY_TEXT_LINE    -0.01 -
Subject: [pve-devel] [PATCH qemu-server,
 container 0/2] avoid migrating disk images multiple times
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Tue, 02 May 2023 13:17:35 -0000

This small patch series adds additional checks for VMs and CTs to avoid
migrating local disk images multiple times.

The idea on how to reference them is similar as in the check if a disk
should be added as unusedX [0].

For example, if there are multiple storage definitions pointing to the
same actual storage, we can see the same image multiple times. These are
ignored.

If we notice that a disk image is configured multiple times in the
config for the guest, we fail the migration with a warning.


One thing I am not really sure, is the case where a disk image is
currently configured fully and a second time as unusedX.

At least the Qemu part won't let us remove it as it is still in use.

But this is still a somewhat hypothetical example because in my tests, once
we detach a double configured disk image (e.g. scsi0 and scsi1), it will
not be added as unused0 but just disappear.
So there should not be a reasonable way to end up with a unused disk
config pointing to the same image as a configured one.


[0] https://git.proxmox.com/?p=qemu-server.git;a=blob;f=PVE/QemuServer.pm;h=c1d0fd2d06a35bd8d996a59b44eb60345165f1b6;hb=HEAD#l6910

qemu-server: Aaron Lauterer (1):
  migration: avoid migrating disk images multiple times

 PVE/QemuMigrate.pm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)


pve-container: Aaron Lauterer (1):
  migration: avoid migrating volume images multiple times

 src/PVE/LXC/Migrate.pm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

-- 
2.30.2