qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Non-flat command line option argument syntax


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] Non-flat command line option argument syntax
Date: Fri, 24 Feb 2017 16:39:48 +0000
User-agent: Mutt/1.7.1 (2016-10-04)

On Fri, Feb 24, 2017 at 05:04:34PM +0100, Markus Armbruster wrote:
> Markus Armbruster <address@hidden> writes:
> 
> [...]
> > === Dotted keys ===
> >
> > One sufficiently powerful syntax extension already exists: the dotted
> > key convention.  It's syntactically unambiguous only when none of the
> > KEYs involved contains '.'  To adopt it across the board, we'd have to
> > outlaw '.' in KEYs.  QAPI outlaws '.' already,
> 
> *Except* in __RFQDN_ prefixes.
> 
> Say example.com needs to add a downstream extension to block driver
> "raw".  Following QAPI rules, they add to to struct BlockdevOptionsRaw a
> new optional member:
> 
>     '*__com.example_medium-rare': 'bool'
> 
> On the command line, this looks like
> 
>     -blockdev 
> node-name=foo,driver=raw,__com.example_medium-rare=on,file.driver=file,file.filename=foo.img
> 
> Dotted keys parse this as a reference to member __com's member
> example_medium-rare.
> 
> Possible solutions:
> 
> (a) Outlaw domain names with '_'.  If KEY starts with "__", everything
>     up to the third '_' is an __RFQDN_ prefix.
> 
> (b) Outlaw '_' in the name part that follows __RFQDN_.  If KEY starts
>     with "__", everything up to the last '_' is an __RFQDN_ prefix.
> 
> (c) Your bright idea.

Define a new downstream vendor naming convention. IMHO it is reasonable
to argue that the downstream vendor extensions are outside the scope of
backwards compatibility guarantees we normally apply for our CLI args.

Thus, simply say that vendors must replace all '.' with _ in their
namespace prefix. eg They should use '__com_example_medium.rare=on'
which would mean a property '__com_example_medium' which is a struct
containing a property rare with value on


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]