From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 7466A1FF0AF for ; Thu, 24 Sep 2026 18:15:35 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 55C412165F; Thu, 24 Sep 2026 18:15:17 +0200 (CEST) From: =?UTF-8?q?Michael=20K=C3=B6ppl?= To: pve-devel@lists.proxmox.com Subject: [PATCH guest-common v6 06/18] abstract config: register used guest ID when creating config Date: Thu, 24 Sep 2026 18:14:58 +0200 Message-ID: <20260924161510.847362-7-m.koeppl@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260924161510.847362-1-m.koeppl@proxmox.com> References: <20260924161510.847362-1-m.koeppl@proxmox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1790266512893 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.481 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: NDUZ6JTB7NKSHFNQRC3F53KPPPK3OB5Y X-Message-ID-Hash: NDUZ6JTB7NKSHFNQRC3F53KPPPK3OB5Y X-MailFrom: m.koeppl@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; 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: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This ensures that upon creation of a guest, the chosen guest ID is always recorded such that optionally enabling unique IDs later on can ensure that no ID that has previously been used can be chosen again. Moving it into create_and_lock_config avoids repeating the register_used_id call at every site where a guest config is created, including importovf and incoming remote migrations. Signed-off-by: Michael Köppl --- src/PVE/AbstractConfig.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/PVE/AbstractConfig.pm b/src/PVE/AbstractConfig.pm index 7bcae19..229e4bd 100644 --- a/src/PVE/AbstractConfig.pm +++ b/src/PVE/AbstractConfig.pm @@ -10,6 +10,7 @@ use PVE::Storage; use PVE::Tools qw(lock_file lock_file_full); use PVE::GuestHelpers qw(typesafe_ne); +use PVE::GuestID; use PVE::ReplicationConfig; use PVE::Replication; @@ -261,6 +262,8 @@ sub create_and_lock_config { sub { PVE::Cluster::check_vmid_unused($vmid, $allow_existing); + PVE::GuestID::register_used_id($vmid); + my $conf = eval { $class->load_config($vmid) } || {}; $class->check_lock($conf); $conf->{lock} = $lock // 'create'; -- 2.47.3