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 0DD841FF136 for ; Mon, 18 May 2026 10:24:27 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8D8025DD3; Mon, 18 May 2026 10:24:24 +0200 (CEST) From: Dominik Csapak To: pve-devel@lists.proxmox.com Subject: [PATCH manager] fix #7599: ui: qemu: wizard: fix disk controller for windows with second cd drive Date: Mon, 18 May 2026 10:24:05 +0200 Message-ID: <20260518082419.862609-1-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.050 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 Message-ID-Hash: SRLQFK3F6C4F7QAP3Y5R3SSKPAOALZYC X-Message-ID-Hash: SRLQFK3F6C4F7QAP3Y5R3SSKPAOALZYC X-MailFrom: d.csapak@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: The MultiDiskPanel recently changed to only add the first disk in afterrender to make sure we have a nodename to determine the architecture of the vm (for architecture specific defaults). In contrast the os panel in the wizard assumed the first disk was already added and changed the controller value based on e.g. if there is a second cd drive for windows virtio drivers (set it to scsi in that case). For that to work, the disk has to be added sooner. The first available point in time is when we add set the nodename the first time to a truthy value, so do it there instead (and save that information to not add a disk on every setNodename, only the first valid one). This fixes the issue that the disk controller was still set to IDE in case the user added a second cd drive for virtio drivers. Fixes: 6be73bfe (ui: qemu: make sortByPreviousUsage architecture aware) Signed-off-by: Dominik Csapak --- www/manager6/panel/MultiDiskEdit.js | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/www/manager6/panel/MultiDiskEdit.js b/www/manager6/panel/MultiDiskEdit.js index e96a5f96..3de07674 100644 --- a/www/manager6/panel/MultiDiskEdit.js +++ b/www/manager6/panel/MultiDiskEdit.js @@ -4,10 +4,19 @@ Ext.define('PVE.panel.MultiDiskPanel', { mixins: ['Proxmox.Mixin.CBind'], setNodename: function (nodename) { - this.items.each((panel) => panel.setNodename(nodename)); - this.nodename = nodename; + let me = this; + me.items.each((panel) => panel.setNodename(nodename)); + me.nodename = nodename; + + if (!me.addedFirstDisk && !!nodename) { + let controller = me.getController(); + controller.onAdd(); + me.lookup('grid').getSelectionModel().select(0, false); + } }, + addedFirstDisk: false, + border: false, bodyBorder: false, @@ -21,7 +30,12 @@ Ext.define('PVE.panel.MultiDiskPanel', { vmconfig: {}, onAdd: function () { - this.addDiskChecked(false); + let me = this; + let view = me.getView(); + me.addDiskChecked(false); + if (!view.addedFirstDisk) { + view.addedFirstDisk = true; + } }, onImport: function () { @@ -211,13 +225,6 @@ Ext.define('PVE.panel.MultiDiskPanel', { 'grid[reference=grid]': { selectionchange: 'onSelectionChange', }, - '#': { - afterrender: function (view) { - let me = this; - me.onAdd(); - me.lookup('grid').getSelectionModel().select(0, false); - }, - }, }, }, -- 2.47.3