Skip to content

Commit

Permalink
qapi: Add burst length fields to BlockDeviceInfo
Browse files Browse the repository at this point in the history
This patch adds the new bps_*_max_length and iops_*_max_length
parameters to the BlockDeviceInfo struct.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
bertogg authored and kevmw committed Feb 22, 2016
1 parent dce1320 commit 398befd
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 6 deletions.
20 changes: 20 additions & 0 deletions block/qapi.c
Expand Up @@ -92,6 +92,26 @@ BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs, Error **errp)
info->has_iops_wr_max = cfg.buckets[THROTTLE_OPS_WRITE].max;
info->iops_wr_max = cfg.buckets[THROTTLE_OPS_WRITE].max;

info->has_bps_max_length = info->has_bps_max;
info->bps_max_length =
cfg.buckets[THROTTLE_BPS_TOTAL].burst_length;
info->has_bps_rd_max_length = info->has_bps_rd_max;
info->bps_rd_max_length =
cfg.buckets[THROTTLE_BPS_READ].burst_length;
info->has_bps_wr_max_length = info->has_bps_wr_max;
info->bps_wr_max_length =
cfg.buckets[THROTTLE_BPS_WRITE].burst_length;

info->has_iops_max_length = info->has_iops_max;
info->iops_max_length =
cfg.buckets[THROTTLE_OPS_TOTAL].burst_length;
info->has_iops_rd_max_length = info->has_iops_rd_max;
info->iops_rd_max_length =
cfg.buckets[THROTTLE_OPS_READ].burst_length;
info->has_iops_wr_max_length = info->has_iops_wr_max;
info->iops_wr_max_length =
cfg.buckets[THROTTLE_OPS_WRITE].burst_length;

info->has_iops_size = cfg.op_size;
info->iops_size = cfg.op_size;

Expand Down
39 changes: 33 additions & 6 deletions qapi/block-core.json
Expand Up @@ -273,17 +273,41 @@
#
# @image: the info of image used (since: 1.6)
#
# @bps_max: #optional total max in bytes (Since 1.7)
# @bps_max: #optional total throughput limit during bursts,
# in bytes (Since 1.7)
#
# @bps_rd_max: #optional read max in bytes (Since 1.7)
# @bps_rd_max: #optional read throughput limit during bursts,
# in bytes (Since 1.7)
#
# @bps_wr_max: #optional write throughput limit during bursts,
# in bytes (Since 1.7)
#
# @bps_wr_max: #optional write max in bytes (Since 1.7)
# @iops_max: #optional total I/O operations per second during bursts,
# in bytes (Since 1.7)
#
# @iops_max: #optional total I/O operations max (Since 1.7)
# @iops_rd_max: #optional read I/O operations per second during bursts,
# in bytes (Since 1.7)
#
# @iops_rd_max: #optional read I/O operations max (Since 1.7)
# @iops_wr_max: #optional write I/O operations per second during bursts,
# in bytes (Since 1.7)
#
# @iops_wr_max: #optional write I/O operations max (Since 1.7)
# @bps_max_length: #optional maximum length of the @bps_max burst
# period, in seconds. (Since 2.6)
#
# @bps_rd_max_length: #optional maximum length of the @bps_rd_max
# burst period, in seconds. (Since 2.6)
#
# @bps_wr_max_length: #optional maximum length of the @bps_wr_max
# burst period, in seconds. (Since 2.6)
#
# @iops_max_length: #optional maximum length of the @iops burst
# period, in seconds. (Since 2.6)
#
# @iops_rd_max_length: #optional maximum length of the @iops_rd_max
# burst period, in seconds. (Since 2.6)
#
# @iops_wr_max_length: #optional maximum length of the @iops_wr_max
# burst period, in seconds. (Since 2.6)
#
# @iops_size: #optional an I/O size in bytes (Since 1.7)
#
Expand All @@ -308,6 +332,9 @@
'*bps_max': 'int', '*bps_rd_max': 'int',
'*bps_wr_max': 'int', '*iops_max': 'int',
'*iops_rd_max': 'int', '*iops_wr_max': 'int',
'*bps_max_length': 'int', '*bps_rd_max_length': 'int',
'*bps_wr_max_length': 'int', '*iops_max_length': 'int',
'*iops_rd_max_length': 'int', '*iops_wr_max_length': 'int',
'*iops_size': 'int', '*group': 'str', 'cache': 'BlockdevCacheInfo',
'write_threshold': 'int' } }

Expand Down

0 comments on commit 398befd

Please sign in to comment.