On 09/26/2017 02:17 PM, Emmanuel Kasper wrote:
We keep the same logic as before: once the iothread option is selected, the 
default SCSI> controller is switched to virtio-scsi-single until iothread is 
unselected again.

Please try to keep commit message line length below 70 characters long.
First line (heading) is preferred to be even a bit shorter to allow space
for mail list and patch tags.
As this and the heading have both 89 chars I could imagine that you just
wrongly set the wrap length, e.g., textwidth in vim from 69 to 89.

---
  www/manager6/qemu/HDEdit.js | 28 ++++++++++++++++++++++------
  1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/www/manager6/qemu/HDEdit.js b/www/manager6/qemu/HDEdit.js
index 075ad667..14ee0b50 100644
--- a/www/manager6/qemu/HDEdit.js
+++ b/www/manager6/qemu/HDEdit.js
@@ -19,9 +19,13 @@ Ext.define('PVE.qemu.HDInputPanel', {
            var value = field.getValue();
var allowIOthread = value.match(/^(virtio|scsi)/);
-           this.lookup('iothread').setDisabled(!allowIOthread);
+           var iothread = this.lookup('iothread');
+           iothread.setDisabled(!allowIOthread);
            if (!allowIOthread) {
-               this.lookup('iothread').setValue(false);
+               // prevent event loop

Why event loop? I cannot see a cyclic change which could
cause it and failed to reproduce?

+               iothread.suspendEvent('change');
+               iothread.setValue(false);
+               iothread.resumeEvent('change');
            }
var scsi = value.match(/^scsi/);
@@ -74,6 +78,15 @@ Ext.define('PVE.qemu.HDInputPanel', {
                        me.hdsizesel.setVisible(true);
                    }
                }
+           },
+           'field[name=iothread]' : {
+               change: function(f, value) {
+                   if (!this.getView().insideWizard) {
+                       return;
+                   }
+                   this.lookupReference('scsiType')
+                       .setValue(value ? 'virtio-scsi-single'  : 
'virtio-scsi-pci');

can we introduce a intermediate variable here? takes same line
length but is better readable than a split up object access.

+               }
            }
        }
      },
@@ -116,10 +129,6 @@ Ext.define('PVE.qemu.HDInputPanel', {
if (values.iothread) {
            me.drive.iothread = 'on';
-           // do not silently change a VM-wide option after creating it
-           if (me.insideWizard) {
-               params.scsihw = 'virtio-scsi-single';
-           }
        } else {
            delete me.drive.iothread;
        }
@@ -130,6 +139,10 @@ Ext.define('PVE.qemu.HDInputPanel', {
            delete me.drive.cache;
        }
+ if (values.scsihw) {
+           params.scsihw = values.scsihw;
+       }
+
        params[confid] = PVE.Parser.printQemuDrive(me.drive);
return params;
@@ -198,9 +211,12 @@ Ext.define('PVE.qemu.HDInputPanel', {
            });
            me.column1.push(me.bussel);
            me.scsiType = Ext.create('Ext.form.field.Display', {
+               name: 'scsihw',
                fieldLabel: gettext('Type'),
                reference: 'scsiType',
                renderer: PVE.Utils.render_scsihw,
+               // do not change a VM wide option after creation
+               submitValue: me.insideWizard,
                hidden: true
            });
            me.column1.push(me.scsiType);



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

Reply via email to