On 01/11/2018 01:52 PM, Kevin Wolf wrote: > Signed-off-by: Kevin Wolf <[email protected]> > --- > qapi/block-core.json | 33 ++++++++++++++++++++++++++++++++- > 1 file changed, 32 insertions(+), 1 deletion(-) > > diff --git a/qapi/block-core.json b/qapi/block-core.json > index 1749376c61..9341f6708d 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > @@ -3320,6 +3320,37 @@ > { 'command': 'blockdev-del', 'data': { 'node-name': 'str' } } > > ## > +# @BlockdevQcow2CompatLevel: > +# @0_10: The original QCOW2 format as introduced in qemu 0.10 (version 2) > +# @1_1: The extended QCOW2 format as introduced in qemu 1.1 (version 3) > +# > +# Since: 2.10 > +## > +{ 'enum': 'BlockdevQcow2CompatLevel', > + 'data': [ '0_10', '1_1' ] }
Enums are allowed to start with digits while struct members are not; so
you can get away with this naming. Do we really want the names 0_10 and
1_1, or are there better names we could come up with (it already
undergoes translation such that qemu-img reports 0.10 rather than 0_10).
> +
> +
> +##
> +# @BlockdevCreateOptionsQcow2:
> +#
> +# Driver specific image creation options for qcow2.
> +#
> +# TODO Describe fields
Hence this being RFC :)
> +#
> +# Since: 2.12
> +##
> +{ 'struct': 'BlockdevCreateOptionsQcow2',
> + 'data': { 'size': 'size',
Is size mandatory even when we have a backing file specification? It is
not mandatory for qemu-img create; but on the other hand, I think I can
live with requiring the QMP caller to supply a size.
> + '*compat': 'BlockdevQcow2CompatLevel',
> + '*backing-file': 'str',
Given Dan's comments, perhaps name this one 'backing-str' to make it
obvious that it is the string written into the qcow2 header, rather than
the node we open as backing? Or, maybe we support an optional
'*backing-node' that can be used for allowing a default size and backing
string if not explicitly overridden?
> + '*backing-fmt': 'BlockdevDriver',
> + '*encrypt': 'QCryptoBlockCreateOptions',
> + '*cluster-size': 'size',
> + '*preallocation': 'PreallocMode',
> + '*lazy-refcounts': 'bool',
> + '*refcount-bits': 'int' } }
> +
> +##
> # @BlockdevCreateDummy:
> #
> # FIXME To be removed. Only there to make the QAPI generator happy while
> we're
> @@ -3365,7 +3396,7 @@
> 'null-aio': 'BlockdevCreateDummy',
> 'null-co': 'BlockdevCreateDummy',
> 'parallels': 'BlockdevCreateDummy',
> - 'qcow2': 'BlockdevCreateDummy',
> + 'qcow2': 'BlockdevCreateOptionsQcow2',
> 'qcow': 'BlockdevCreateDummy',
> 'qed': 'BlockdevCreateDummy',
> 'quorum': 'BlockdevCreateDummy',
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
