aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2020-10-20 12:47:58 +0200
committerKevin Wolf <kwolf@redhat.com>2021-03-19 10:17:13 +0100
commit381bd7440d8178c9e56bac7086c9e3b0cad066ec (patch)
tree19a9d7f55a3e551ef094f4b6caf095c1bf0ec3dc
parent6815bc1d03c1f883183b5a8b31861b15d951f2a4 (diff)
qapi/qom: Add ObjectOptions for throttle-group
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>
-rw-r--r--qapi/block-core.json27
-rw-r--r--qapi/qom.json7
2 files changed, 32 insertions, 2 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 0399449e13..1c3f1deb03 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2443,6 +2443,33 @@
'*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:
#
# Copy data from a backing file into a block device.
diff --git a/qapi/qom.json b/qapi/qom.json
index 7fb243c3ab..fa56083a0b 100644
--- a/qapi/qom.json
+++ b/qapi/qom.json
@@ -5,6 +5,7 @@
# See the COPYING file in the top-level directory.
{ 'include': 'authz.json' }
+{ 'include': 'block-core.json' }
{ 'include': 'common.json' }
##
@@ -451,7 +452,8 @@
'memory-backend-ram',
'rng-builtin',
'rng-egd',
- 'rng-random'
+ 'rng-random',
+ 'throttle-group'
] }
##
@@ -486,7 +488,8 @@
'memory-backend-ram': 'MemoryBackendProperties',
'rng-builtin': 'RngProperties',
'rng-egd': 'RngEgdProperties',
- 'rng-random': 'RngRandomProperties'
+ 'rng-random': 'RngRandomProperties',
+ 'throttle-group': 'ThrottleGroupProperties'
} }
##