[pve-devel] [PATCH manager v2 06/11] create: clear iothread on disable

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Aug 29 12:08:29 CEST 2017


A user may set the `iothread` option and then change the bus type to
something which does not support it (sata, ide), while we disable
it the previously set value remains, which is confusing.
An user could think he coulkd trick the Wizard into using iothreads
for SATA/IDE but we just ignore the value in this case.

Set iothread to false in the case it gets disabled.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

changes v1 -> v2:
 * remove now unnecessary confid.match in onGetValues
 * remove useless insideWizard check

 www/manager6/qemu/HDEdit.js | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/www/manager6/qemu/HDEdit.js b/www/manager6/qemu/HDEdit.js
index 9f06ffe7..fdeb4a2a 100644
--- a/www/manager6/qemu/HDEdit.js
+++ b/www/manager6/qemu/HDEdit.js
@@ -17,7 +17,12 @@ Ext.define('PVE.qemu.HDInputPanel', {
 
 	onControllerChange: function(field) {
 	    var value = field.getValue();
-	    this.lookup('iothread').setDisabled(!value.match(/^(virtio|scsi)/));
+
+	    var allowIOthread = value.match(/^(virtio|scsi)/);
+	    this.lookup('iothread').setDisabled(!allowIOthread);
+	    if (!allowIOthread) {
+		this.lookup('iothread').setValue(false);
+	    }
 	},
 
 	control: {
@@ -102,7 +107,7 @@ Ext.define('PVE.qemu.HDInputPanel', {
 	    delete me.drive.discard;
 	}
 
-	if (values.iothread && confid.match(/^(virtio|scsi)\d+$/)) {
+	if (values.iothread) {
 	    me.drive.iothread = 'on';
 	    // do not silently change a VM-wide option after creating it
 	    if (me.insideWizard) {
@@ -273,7 +278,7 @@ Ext.define('PVE.qemu.HDInputPanel', {
 	},
 	{
 	    xtype: 'pvecheckbox',
-	    disabled: me.insideWizard || (me.confid && !me.confid.match(/^(virtio|scsi)/)),
+	    disabled: me.confid && !me.confid.match(/^(virtio|scsi)/),
 	    fieldLabel: gettext('IO thread'),
 	    reference: 'iothread',
 	    name: 'iothread'
-- 
2.11.0




More information about the pve-devel mailing list