[pve-devel] [PATCH pve-manager 2/3] fix #3967: enable ZFS dRAID creation in WebGUI
Stefan Hrdlicka
s.hrdlicka at proxmox.com
Thu Jun 2 13:22:33 CEST 2022
add fields for additional settings required by ZFS dRAID
Signed-off-by: Stefan Hrdlicka <s.hrdlicka at proxmox.com>
---
requires the changes in pve-storageto work
www/manager6/node/ZFS.js | 47 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/www/manager6/node/ZFS.js b/www/manager6/node/ZFS.js
index 5b3bdbda..5f3bbfef 100644
--- a/www/manager6/node/ZFS.js
+++ b/www/manager6/node/ZFS.js
@@ -42,6 +42,9 @@ Ext.define('PVE.node.CreateZFS', {
fieldLabel: gettext('RAID Level'),
name: 'raidlevel',
value: 'single',
+ listeners: {
+ change: 'onTargetChange',
+ },
comboItems: [
['single', gettext('Single Disk')],
['mirror', 'Mirror'],
@@ -49,8 +52,29 @@ Ext.define('PVE.node.CreateZFS', {
['raidz', 'RAIDZ'],
['raidz2', 'RAIDZ2'],
['raidz3', 'RAIDZ3'],
+ ['draid', 'dRAID'],
+ ['draid2', 'dRAID2'],
+ ['draid3', 'dRAID3'],
],
},
+ {
+ xtype: 'proxmoxintegerfield',
+ fieldLabel: gettext('DRAID data devices'),
+ minValue: 1,
+ disabled: true,
+ hidden: true,
+ reference: 'draiddata',
+ name: 'draiddata',
+ },
+ {
+ xtype: 'proxmoxintegerfield',
+ fieldLabel: gettext('DRAID spares'),
+ minValue: 0,
+ disabled: true,
+ hidden: true,
+ reference: 'draidspares',
+ name: 'draidspares',
+ },
{
xtype: 'proxmoxKVComboBox',
fieldLabel: gettext('Compression'),
@@ -101,6 +125,29 @@ Ext.define('PVE.node.CreateZFS', {
me.callParent();
},
+
+ controller: {
+ xclass: 'Ext.app.ViewController',
+
+ onTargetChange: function(selection) {
+ var me = this;
+ var dataField = me.lookupReference('draiddata');
+ var sparesField = me.lookupReference('draidspares');
+ if (selection.value.startsWith("draid")) {
+ //show draid settings
+ dataField.setVisible(true);
+ dataField.setDisabled(false);
+ sparesField.setVisible(true);
+ sparesField.setDisabled(false);
+ } else {
+ //hide draid settings
+ dataField.setVisible(false);
+ dataField.setDisabled(true);
+ sparesField.setVisible(false);
+ sparesField.setDisabled(true);
+ }
+ },
+ },
});
Ext.define('PVE.node.ZFSList', {
--
2.30.2
More information about the pve-devel
mailing list