Adds cache and async I/O selectors to the CloudInit Drive Edit modal
window in the "Hardware" tab. This allows users to set these options in
the WebGUI when the VM fails to start because the underlying storage
(driver) does not support a specific set of configurations.

Signed-off-by: Daniel Kral <d.k...@proxmox.com>
---
 www/manager6/qemu/CIDriveEdit.js | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/www/manager6/qemu/CIDriveEdit.js b/www/manager6/qemu/CIDriveEdit.js
index d12124e8..39844146 100644
--- a/www/manager6/qemu/CIDriveEdit.js
+++ b/www/manager6/qemu/CIDriveEdit.js
@@ -18,6 +18,9 @@ Ext.define('PVE.qemu.CIDriveInputPanel', {
            me.drive.format = values.diskformat;
        }
 
+       PVE.Utils.propertyStringSet(me.drive, values.cache, 'cache');
+       PVE.Utils.propertyStringSet(me.drive, values.aio, 'aio');
+
        params[confid] = PVE.Parser.printQemuDrive(me.drive);
 
        return params;
@@ -49,6 +52,9 @@ Ext.define('PVE.qemu.CIDriveInputPanel', {
        }
        values.hdimage = drive.file;
 
+       values.cache = drive.cache || '__default__';
+       values.aio = drive.aio || '__default__';
+
        me.drive = drive;
 
        me.setValues(values);
@@ -81,6 +87,22 @@ Ext.define('PVE.qemu.CIDriveInputPanel', {
 
        me.items = items;
 
+       me.advancedColumnB = [
+           {
+               xtype: 'CacheTypeSelector',
+               name: 'cache',
+               value: '__default__',
+               fieldLabel: gettext('Cache'),
+           },
+           {
+               xtype: 'AsyncIOTypeSelector',
+               name: 'aio',
+               value: '__default__',
+               fieldLabel: gettext('Async IO'),
+               allowBlank: false,
+           },
+       ];
+
        me.callParent();
     },
 });
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to