mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-06 22:28:02 +00:00
ui: avoid duplication of guest disc controller maxIDs definition
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
a22fc39f09
commit
8c4ec8c711
@ -1156,11 +1156,16 @@ Ext.define('PVE.Utils', { utilities: {
|
|||||||
reader.readAsText(file);
|
reader.readAsText(file);
|
||||||
},
|
},
|
||||||
|
|
||||||
bus_counts: { ide: 4, sata: 6, scsi: 16, virtio: 16 },
|
diskControllerMaxIDs: {
|
||||||
|
ide: 4,
|
||||||
|
sata: 6,
|
||||||
|
scsi: 14,
|
||||||
|
virtio: 16,
|
||||||
|
},
|
||||||
|
|
||||||
// types is either undefined (all busses), an array of busses, or a single bus
|
// types is either undefined (all busses), an array of busses, or a single bus
|
||||||
forEachBus: function(types, func) {
|
forEachBus: function(types, func) {
|
||||||
var busses = Object.keys(PVE.Utils.bus_counts);
|
var busses = Object.keys(PVE.Utils.diskControllerMaxIDs);
|
||||||
var i, j, count, cont;
|
var i, j, count, cont;
|
||||||
|
|
||||||
if (Ext.isArray(types)) {
|
if (Ext.isArray(types)) {
|
||||||
@ -1171,13 +1176,13 @@ Ext.define('PVE.Utils', { utilities: {
|
|||||||
|
|
||||||
// check if we only have valid busses
|
// check if we only have valid busses
|
||||||
for (i = 0; i < busses.length; i++) {
|
for (i = 0; i < busses.length; i++) {
|
||||||
if (!PVE.Utils.bus_counts[busses[i]]) {
|
if (!PVE.Utils.diskControllerMaxIDs[busses[i]]) {
|
||||||
throw "invalid bus: '" + busses[i] + "'";
|
throw "invalid bus: '" + busses[i] + "'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < busses.length; i++) {
|
for (i = 0; i < busses.length; i++) {
|
||||||
count = PVE.Utils.bus_counts[busses[i]];
|
count = PVE.Utils.diskControllerMaxIDs[busses[i]];
|
||||||
for (j = 0; j < count; j++) {
|
for (j = 0; j < count; j++) {
|
||||||
cont = func(busses[i], j);
|
cont = func(busses[i], j);
|
||||||
if (!cont && cont !== undefined) {
|
if (!cont && cont !== undefined) {
|
||||||
|
@ -2,29 +2,15 @@ Ext.define('PVE.form.ControllerSelector', {
|
|||||||
extend: 'Ext.form.FieldContainer',
|
extend: 'Ext.form.FieldContainer',
|
||||||
alias: 'widget.pveControllerSelector',
|
alias: 'widget.pveControllerSelector',
|
||||||
|
|
||||||
statics: {
|
|
||||||
maxIds: {
|
|
||||||
ide: 3,
|
|
||||||
sata: 5,
|
|
||||||
virtio: 15,
|
|
||||||
scsi: 13
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
noVirtIO: false,
|
noVirtIO: false,
|
||||||
|
|
||||||
vmconfig: {}, // used to check for existing devices
|
vmconfig: {}, // used to check for existing devices
|
||||||
|
|
||||||
sortByPreviousUsage: function(vmconfig, controllerList) {
|
sortByPreviousUsage: function(vmconfig, controllerList) {
|
||||||
|
let usedControllers = {};
|
||||||
var usedControllers = Ext.clone(PVE.form.ControllerSelector.maxIds);
|
for (const type of PVE.Utils.diskControllerMaxIDs) {
|
||||||
|
|
||||||
var type;
|
|
||||||
for (type in usedControllers) {
|
|
||||||
if(usedControllers.hasOwnProperty(type)) {
|
|
||||||
usedControllers[type] = 0;
|
usedControllers[type] = 0;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var property;
|
var property;
|
||||||
for (property in vmconfig) {
|
for (property in vmconfig) {
|
||||||
@ -77,7 +63,7 @@ Ext.define('PVE.form.ControllerSelector', {
|
|||||||
Ext.Array.each(clist, function(controller) {
|
Ext.Array.each(clist, function(controller) {
|
||||||
var confid, i;
|
var confid, i;
|
||||||
bussel.setValue(controller);
|
bussel.setValue(controller);
|
||||||
for (i = 0; i <= PVE.form.ControllerSelector.maxIds[controller]; i++) {
|
for (i = 0; i < PVE.Utils.diskControllerMaxIDs[controller]; i++) {
|
||||||
confid = controller + i.toString();
|
confid = controller + i.toString();
|
||||||
if (!Ext.isDefined(me.vmconfig[confid])) {
|
if (!Ext.isDefined(me.vmconfig[confid])) {
|
||||||
deviceid.setValue(i);
|
deviceid.setValue(i);
|
||||||
@ -111,7 +97,7 @@ Ext.define('PVE.form.ControllerSelector', {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var field = me.down('field[name=deviceid]');
|
var field = me.down('field[name=deviceid]');
|
||||||
field.setMaxValue(PVE.form.ControllerSelector.maxIds[value]);
|
field.setMaxValue(PVE.Utils.diskControllerMaxIDs[value]);
|
||||||
field.validate();
|
field.validate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,7 +106,7 @@ Ext.define('PVE.form.ControllerSelector', {
|
|||||||
xtype: 'proxmoxintegerfield',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'deviceid',
|
name: 'deviceid',
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: PVE.form.ControllerSelector.maxIds.ide,
|
maxValue: PVE.Utils.diskControllerMaxIDs.ide,
|
||||||
value: '0',
|
value: '0',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
|
Loading…
Reference in New Issue
Block a user