[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 09/31] qapi/qom: Add ObjectOptions for throttle-group
From: |
Kevin Wolf |
Subject: |
[PATCH v2 09/31] qapi/qom: Add ObjectOptions for throttle-group |
Date: |
Wed, 24 Feb 2021 14:52:33 +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>
---
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 73f28f9608..449dca8ec5 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' }
##
@@ -447,7 +448,8 @@
'memory-backend-ram',
'rng-builtin',
'rng-egd',
- 'rng-random'
+ 'rng-random',
+ 'throttle-group'
] }
##
@@ -480,7 +482,8 @@
'memory-backend-ram': 'MemoryBackendProperties',
'rng-builtin': 'RngProperties',
'rng-egd': 'RngEgdProperties',
- 'rng-random': 'RngRandomProperties'
+ 'rng-random': 'RngRandomProperties',
+ 'throttle-group': 'ThrottleGroupProperties'
} }
##
--
2.29.2
- [PATCH v2 21/31] qemu-storage-daemon: Implement --object with qmp_object_add(), (continued)
- [PATCH v2 21/31] qemu-storage-daemon: Implement --object with qmp_object_add(), Kevin Wolf, 2021/02/24
- [PATCH v2 20/31] qom: Make "object" QemuOptsList optional, Kevin Wolf, 2021/02/24
- [PATCH v2 17/31] qapi/qom: Add ObjectOptions for input-*, Kevin Wolf, 2021/02/24
- [PATCH v2 23/31] qom: Factor out user_creatable_process_cmdline(), Kevin Wolf, 2021/02/24
- [PATCH v2 11/31] qapi/qom: Add ObjectOptions for tls-*, deprecate 'loaded', Kevin Wolf, 2021/02/24
- [PATCH v2 09/31] qapi/qom: Add ObjectOptions for throttle-group,
Kevin Wolf <=
- [PATCH v2 04/31] qapi/qom: Add ObjectOptions for authz-*, Kevin Wolf, 2021/02/24
- [PATCH v2 22/31] qom: Remove user_creatable_add_dict(), Kevin Wolf, 2021/02/24
- [PATCH v2 25/31] qemu-img: Use user_creatable_process_cmdline() for --object, Kevin Wolf, 2021/02/24
- [PATCH v2 28/31] hmp: QAPIfy object_add, Kevin Wolf, 2021/02/24