Existing disks are not changed by this.
Especially in benchmarks, iothreads significantly improve IO performance.

Signed-off-by: Matthias Heiserer <m.heise...@proxmox.com>
---

Changes from v3:
* remove automatically switching to/from SCSI single when iothread is 
(un)checked
* iothread will be initially set on
* changing the controller to something other than SCSI single and then back to
  SCSI single will enable iothread for all SCSI disks.

Changes from v2:
* also check iothread when adding a disk to an existing VM and 
 scsi single
* use bind instead of hardcoded true

 www/manager6/qemu/HDEdit.js | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/www/manager6/qemu/HDEdit.js b/www/manager6/qemu/HDEdit.js
index 4e4d6aac..8b460e27 100644
--- a/www/manager6/qemu/HDEdit.js
+++ b/www/manager6/qemu/HDEdit.js
@@ -14,6 +14,7 @@ Ext.define('PVE.qemu.HDInputPanel', {
        data: {
            isSCSI: false,
            isVirtIO: false,
+           isSCSISingle: false,
        },
     },
 
@@ -44,13 +45,10 @@ Ext.define('PVE.qemu.HDInputPanel', {
            'field[name=deviceid]': {
                change: 'fireIdChange',
            },
-           'field[name=iothread]': {
+           'field[name=scsiController]': {
                change: function(f, value) {
-                   if (!this.getView().insideWizard) {
-                       return;
-                   }
-                   var vmScsiType = value ? 'virtio-scsi-single': 
'virtio-scsi-pci';
-                   this.lookupReference('scsiController').setValue(vmScsiType);
+                   let vm = this.getViewModel();
+                   vm.set('isSCSISingle', value === 'virtio-scsi-single');
                },
            },
        },
@@ -195,6 +193,7 @@ Ext.define('PVE.qemu.HDInputPanel', {
            me.scsiController = Ext.create('Ext.form.field.Display', {
                fieldLabel: gettext('SCSI Controller'),
                reference: 'scsiController',
+               name: 'scsiController',
                bind: me.insideWizard ? {
                    value: '{current.scsihw}',
                    visible: '{isSCSI}',
@@ -251,6 +250,16 @@ Ext.define('PVE.qemu.HDInputPanel', {
                reference: 'discard',
                name: 'discard',
            },
+           {
+               xtype: 'proxmoxcheckbox',
+               name: 'iothread',
+               fieldLabel: 'IO thread',
+               clearOnDisable: true,
+               bind: {
+                   disabled: '{!isVirtIO && !isSCSI}',
+                   value: '{isSCSI && isSCSISingle}',
+               },
+           },
        );
 
        advancedColumn1.push(
@@ -263,15 +272,6 @@ Ext.define('PVE.qemu.HDInputPanel', {
                    disabled: '{isVirtIO}',
                },
            },
-           {
-               xtype: 'proxmoxcheckbox',
-               name: 'iothread',
-               fieldLabel: 'IO thread',
-               clearOnDisable: true,
-               bind: {
-                   disabled: '{!isVirtIO && !isSCSI}',
-               },
-           },
            {
                xtype: 'proxmoxcheckbox',
                name: 'readOnly', // `ro` in the config, we map in get/set 
values
-- 
2.30.2



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

Reply via email to