[pve-devel] [PATCH] Adds configuration of disk io op/s and byte/s limits

Stefan Priebe s.priebe at profihost.ag
Tue Jun 12 22:29:40 CEST 2012


Some suggestions - but it might be better that someone from proxmox team 
comment on them too.

Read IO (byte/s) => Read (bytes/s)
Read IO (ops/s) => Read (iops/s)

Also it might be better to work with kb/s or even mb/s? I think nobody 
wants to configure read / write speed in bytes?

Thx.

Stefan

Am 08.06.2012 17:54, schrieb Timo Grodzinski:
> Signed-off-by: Timo Grodzinski <t.grodzinski at profihost.ag>
> ---
>   www/manager/Parser.js      |    2 +-
>   www/manager/qemu/HDEdit.js |   59 ++++++++++++++++++++++++++++++++++++++++++++
>   2 files changed, 60 insertions(+), 1 deletions(-)
>
> diff --git a/www/manager/Parser.js b/www/manager/Parser.js
> index d1a7121..184d1bb 100644
> --- a/www/manager/Parser.js
> +++ b/www/manager/Parser.js
> @@ -81,7 +81,7 @@ Ext.define('PVE.Parser', { statics: {
>   	    if (!p || p.match(/^\s*$/)) {
>   		return; // continue
>   	    }
> -	    var match_res = p.match(/^([a-z]+)=(\S+)$/);
> +	    var match_res = p.match(/^([a-z_]+)=(\S+)$/);
>   	    if (!match_res) {
>   		if (!p.match(/\=/)) {
>   		    res.file = p;
> diff --git a/www/manager/qemu/HDEdit.js b/www/manager/qemu/HDEdit.js
> index 6b0dfc1..264cdc1 100644
> --- a/www/manager/qemu/HDEdit.js
> +++ b/www/manager/qemu/HDEdit.js
> @@ -39,6 +39,27 @@ Ext.define('PVE.qemu.HDInputPanel', {
>   	    delete me.drive.backup;
>   	}
>
> +	if (values.bps_rd) {
> +	    me.drive.bps_rd = values.bps_rd;
> +	} else {
> +	    delete me.drive.bps_rd;
> +	}
> +	if (values.bps_wr) {
> +	    me.drive.bps_wr = values.bps_wr;
> +	} else {
> +	    delete me.drive.bps_wr;
> +	}
> +	if (values.iops_rd) {
> +	    me.drive.iops_rd = values.iops_rd;
> +	} else {
> +	    delete me.drive.iops_rd;
> +	}
> +	if (values.iops_wr) {
> +	    me.drive.iops_wr = values.iops_wr;
> +	} else {
> +	    delete me.drive.iops_wr;
> +	}
> +
>   	var params = {};
>   		
>   	params[confid] = PVE.Parser.printQemuDrive(me.drive);
> @@ -81,6 +102,10 @@ Ext.define('PVE.qemu.HDInputPanel', {
>   	values.nobackup = (drive.backup === 'no');
>   	values.diskformat = drive.format || 'raw';
>   	values.cache = drive.cache || '';
> +	values.bps_rd = drive.bps_rd || 0;
> +	values.bps_wr = drive.bps_wr || 0;
> +	values.iops_rd = drive.iops_rd || 0;
> +	values.iops_wr = drive.iops_wr || 0;
>
>   	me.setValues(values);
>       },
> @@ -211,6 +236,40 @@ Ext.define('PVE.qemu.HDInputPanel', {
>   	    });
>   	}
>
> +        me.bps_rd = Ext.widget('numberfield', {
> +            name: 'bps_rd',
> +            minValue: 0,
> +            value: '0',
> +            fieldLabel: gettext('Read IO (byte/s)'),
> +            allowBlank: false
> +        });
> +        me.column2.push(me.bps_rd);
> +        me.bps_wr = Ext.widget('numberfield', {
> +            name: 'bps_wr',
> +            minValue: 0,
> +            value: '0',
> +            fieldLabel: gettext('Write IO (byte/s)'),
> +            allowBlank: false
> +        });
> +        me.column2.push(me.bps_wr);
> +
> +        me.iops_rd = Ext.widget('numberfield', {
> +            name: 'iops_rd',
> +            minValue: 0,
> +            value: '0',
> +            fieldLabel: gettext('Read IO (ops/s)'),
> +            allowBlank: false
> +        });
> +        me.column2.push(me.iops_rd);
> +        me.iops_wr = Ext.widget('numberfield', {
> +            name: 'iops_wr',
> +            minValue: 0,
> +            value: '0',
> +            fieldLabel: gettext('Write IO (ops/s)'),
> +            allowBlank: false
> +        });
> +        me.column2.push(me.iops_wr);
> +
>   	me.callParent();
>       }
>   });
>




More information about the pve-devel mailing list