[pve-devel] [PATCH manager 1/1] ui: disk storage selector: use new api return format

Dominik Csapak d.csapak at proxmox.com
Mon Oct 6 13:24:04 CEST 2025


since that will be used in the future. For compatibility with older
nodes, keep the old logic around.

No functional change intended.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/manager6/form/DiskStorageSelector.js | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/www/manager6/form/DiskStorageSelector.js b/www/manager6/form/DiskStorageSelector.js
index ec22ef58..edfdfad4 100644
--- a/www/manager6/form/DiskStorageSelector.js
+++ b/www/manager6/form/DiskStorageSelector.js
@@ -58,16 +58,28 @@ Ext.define('PVE.form.DiskStorageSelector', {
         }
 
         let validFormats = {};
-        let selectFormat = 'raw';
-        if (rec.data.format) {
-            validFormats = rec.data.format[0]; // 0 is the formats, 1 the default in the backend
+        let defaultFormat = 'raw';
+        let selectFormat = defaultFormat;
+        if (rec.data.formats) {
+            for (const format of rec.data.formats.supported) {
+                validFormats[format] = true;
+            }
+            defaultFormat = rec.data.formats.default;
+        } else if (rec.data.format) {
+            // legacy api, just for compatibility
+            // 0 is the formats, 1 the default in the backend
+            validFormats = rec.data.format[0];
+            defaultFormat = rec.data.format[1];
+        }
+
+        if (Object.keys(validFormats).length > 0) {
             delete validFormats.subvol; // we never need subvol in the gui
             if (validFormats.qcow2) {
                 selectFormat = 'qcow2';
             } else if (validFormats.raw) {
                 selectFormat = 'raw';
             } else {
-                selectFormat = rec.data.format[1];
+                selectFormat = defaultFormat;
             }
         }
 
-- 
2.47.3





More information about the pve-devel mailing list