Am 26.02.2021 um 18:26 hat Eric Blake geschrieben: > On 2/24/21 7:52 AM, Kevin Wolf wrote: > > 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@xxxxxxxxxx> > > --- > > 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. > > Corresponds to block/throttle-groups.c:throttle_group_obj_class_init() > with its ThrottleParamInfo struct for the x- fields, and limits as-is. > > > +# > > +# 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 > > And I did check that qapi/block-core.json:ThrottleLimits has the same > fields as the ThrottleParamInfo x- fields. All this duplication! But > we're getting to a state where it will be easier to clean up the cruft. Indeed, after this series you can use 'limit' everywhere, so there is no real reason for the x- fields to stay. I almost included the removal in this series, but then it turned out that some more test cases depend on it than I wanted to fix up on the side. But it's an obvious follow-up series. Kevin