[pve-devel] [PATCH manager 2/4] ui: pci map edit: reintroduce warnings checks
Fiona Ebner
f.ebner at proxmox.com
Tue Jun 20 14:16:23 CEST 2023
Am 19.06.23 um 16:13 schrieb Dominik Csapak:
> diff --git a/www/manager6/window/PCIMapEdit.js b/www/manager6/window/PCIMapEdit.js
> index 516678e0..cd2dbfbe 100644
> --- a/www/manager6/window/PCIMapEdit.js
> +++ b/www/manager6/window/PCIMapEdit.js
> @@ -70,6 +70,44 @@ Ext.define('PVE.window.PCIMapEditWindow', {
> me.lookup('iommu_warning').setVisible(
> records.every((val) => val.data.iommugroup === -1),
> );
> +
> + let value = me.lookup('pciselector').getValue();
> + me.checkIsolated(value);
> + },
> +
> + checkIsolated: function(value) {
> + let me = this;
> +
> + let isIsolated = function(entry) {
> + let isolated = true;
> + let parsed = PVE.Parser.parsePropertyString(entry);
> + parsed.iommugroup = parseInt(parsed.iommugroup, 10);
Nit: is there a simpler way to get the selected elements directly from
the store instead of going via getValue() above and then do the parsing
here?
> + if (!parsed.iommugroup) {
> + return isolated;
> + }
> + me.lookup('pciselector').getStore().each(({ data }) => {
Nit: Feel a bit out of place to do the lookup here every time. Maybe
pass this in the store data as an argument to the function already?
> + let isSubDevice = data.id.startsWith(parsed.path);
> + if (data.iommugroup === parsed.iommugroup && data.id !== parsed.path && !isSubDevice) {
> + isolated = false;
> + return false;
> + }
> + return true;
> + });
> + return isolated;
> + };
> +
> + let showWarning = false;
> + if (Ext.isArray(value)) {
> + for (const entry of value) {
> + if (!isIsolated(entry)) {
> + showWarning = true;
> + break;
> + }
> + }
> + } else {
> + showWarning = isIsolated(value);
> + }
> + me.lookup('group_warning').setVisible(showWarning);
> },
>
Not in this patch, but the warning is
> The selected Device is not in a seperate IOMMU group, make sure this is intended.
which has two typos:
s/Device/device/
s/seperate/separate/
and I'd use s/The/A/ because multiple ones can be selected.
And the warnings could/should use gettext().
More information about the pve-devel
mailing list