Skip to content

Commit

Permalink
qapi/qom: Add ObjectOptions for throttle-group
Browse files Browse the repository at this point in the history
This adds a QAPI schema for the properties of the throttle-group object.

The only purpose of the x-* properties is to make the nested options in
'limits' available for a command line parser that doesn't support
structs. Any parser that will use the QAPI schema will supports structs,
though, so they will not be needed in the schema in the future.

To keep the conversion straightforward, add them to the schema anyway.
We can then remove the options and adjust documentation, test cases etc.
in a separate patch.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
  • Loading branch information
kevmw committed Mar 15, 2021
1 parent 18fcda5 commit 4a4becf
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
27 changes: 27 additions & 0 deletions qapi/block-core.json
Expand Up @@ -2504,6 +2504,33 @@
'*bps-write-max' : 'int', '*bps-write-max-length' : 'int',
'*iops-size' : 'int' } }

##
# @ThrottleGroupProperties:
#
# Properties for throttle-group objects.
#
# The options starting with x- are aliases for the same key without x- in
# the @limits object. As indicated by the x- prefix, this is not a stable
# interface and may be removed or changed incompatibly in the future. Use
# @limits for a supported stable interface.
#
# @limits: limits to apply for this throttle group
#
# Since: 2.11
##
{ 'struct': 'ThrottleGroupProperties',
'data': { '*limits': 'ThrottleLimits',
'*x-iops-total' : 'int', '*x-iops-total-max' : 'int',
'*x-iops-total-max-length' : 'int', '*x-iops-read' : 'int',
'*x-iops-read-max' : 'int', '*x-iops-read-max-length' : 'int',
'*x-iops-write' : 'int', '*x-iops-write-max' : 'int',
'*x-iops-write-max-length' : 'int', '*x-bps-total' : 'int',
'*x-bps-total-max' : 'int', '*x-bps-total-max-length' : 'int',
'*x-bps-read' : 'int', '*x-bps-read-max' : 'int',
'*x-bps-read-max-length' : 'int', '*x-bps-write' : 'int',
'*x-bps-write-max' : 'int', '*x-bps-write-max-length' : 'int',
'*x-iops-size' : 'int' } }

##
# @block-stream:
#
Expand Down
7 changes: 5 additions & 2 deletions qapi/qom.json
Expand Up @@ -5,6 +5,7 @@
# See the COPYING file in the top-level directory.

{ 'include': 'authz.json' }
{ 'include': 'block-core.json' }
{ 'include': 'common.json' }

##
Expand Down Expand Up @@ -451,7 +452,8 @@
'memory-backend-ram',
'rng-builtin',
'rng-egd',
'rng-random'
'rng-random',
'throttle-group'
] }

##
Expand Down Expand Up @@ -486,7 +488,8 @@
'memory-backend-ram': 'MemoryBackendProperties',
'rng-builtin': 'RngProperties',
'rng-egd': 'RngEgdProperties',
'rng-random': 'RngRandomProperties'
'rng-random': 'RngRandomProperties',
'throttle-group': 'ThrottleGroupProperties'
} }

##
Expand Down

0 comments on commit 4a4becf

Please sign in to comment.