[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 18/38] qapi/qom: Add ObjectOptions for throttle-group
From: |
Kevin Wolf |
Subject: |
[PULL 18/38] qapi/qom: Add ObjectOptions for throttle-group |
Date: |
Thu, 11 Mar 2021 15:47:51 +0100 |
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>
---
qapi/block-core.json | 27 +++++++++++++++++++++++++++
qapi/qom.json | 7 +++++--
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 9f555d5c1d..a67fa0cc59 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -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:
#
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'
} }
##
--
2.29.2
- [PULL 06/38] block/export: disable VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD for now, (continued)
- [PULL 06/38] block/export: disable VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD for now, Kevin Wolf, 2021/03/11
- [PULL 05/38] curl: Disconnect sockets from CURLState, Kevin Wolf, 2021/03/11
- [PULL 08/38] tests/qtest: add multi-queue test case to vhost-user-blk-test, Kevin Wolf, 2021/03/11
- [PULL 09/38] vhost-user-blk-test: test discard/write zeroes invalid inputs, Kevin Wolf, 2021/03/11
- [PULL 10/38] tests: Drop 'props' from object-add calls, Kevin Wolf, 2021/03/11
- [PULL 12/38] qapi/qom: Add ObjectOptions for iothread, Kevin Wolf, 2021/03/11
- [PULL 11/38] qapi/qom: Drop deprecated 'props' from object-add, Kevin Wolf, 2021/03/11
- [PULL 15/38] qapi/qom: Add ObjectOptions for dbus-vmstate, Kevin Wolf, 2021/03/11
- [PULL 13/38] qapi/qom: Add ObjectOptions for authz-*, Kevin Wolf, 2021/03/11
- [PULL 14/38] qapi/qom: Add ObjectOptions for cryptodev-*, Kevin Wolf, 2021/03/11
- [PULL 18/38] qapi/qom: Add ObjectOptions for throttle-group,
Kevin Wolf <=
- [PULL 16/38] qapi/qom: Add ObjectOptions for memory-backend-*, Kevin Wolf, 2021/03/11
- [PULL 07/38] test: new qTest case to test the vhost-user-blk-server, Kevin Wolf, 2021/03/11
- [PULL 19/38] qapi/qom: Add ObjectOptions for secret*, deprecate 'loaded', Kevin Wolf, 2021/03/11
- [PULL 17/38] qapi/qom: Add ObjectOptions for rng-*, deprecate 'opened', Kevin Wolf, 2021/03/11
- [PULL 21/38] qapi/qom: Add ObjectOptions for can-*, Kevin Wolf, 2021/03/11
- [PULL 20/38] qapi/qom: Add ObjectOptions for tls-*, deprecate 'loaded', Kevin Wolf, 2021/03/11
- [PULL 24/38] qapi/qom: Add ObjectOptions for pr-manager-helper, Kevin Wolf, 2021/03/11
- [PULL 22/38] qapi/qom: Add ObjectOptions for colo-compare, Kevin Wolf, 2021/03/11
- [PULL 27/38] qapi/qom: Add ObjectOptions for x-remote-object, Kevin Wolf, 2021/03/11
- [PULL 23/38] qapi/qom: Add ObjectOptions for filter-*, Kevin Wolf, 2021/03/11