On 03/23/2017 05:55 AM, Markus Armbruster wrote: > runtime_opts is used for three different purposes: > > * qemu_rbd_open() uses it to accept options it recognizes, such as > "pool" and "image". Other .bdrv_open() methods do it similarly. > > * qemu_rbd_open() accepts additional list-valued options > auth-supported and server, with the help of qemu_rbd_array_opts(). > The list elements are again dictionaries. qemu_rbd_array_opts() > uses runtime_opts to accept their members. Thus, runtime_opts > contains recognized sub-sub-options "auth", "host", "port" in > addition to recognized options. No other block driver does that. > > * qemu_rbd_create() uses it to converts the QDict produced by
s/converts/convert/ > qemu_rbd_parse_filename() to QemuOpts. No other block driver does > that. The keys produced by qemu_rbd_parse_filename() are "pool", > "image", "snapshot", "conf", "user" and "keyvalue-pairs". > qemu_rbd_open() accepts these, so no additional ones here. > > This is a confusing mess. Dates back to commit 0f9d252. First step That commit is unreleased, so we are still free to improve it before 2.9 is finalized. > to clean it up is documenting runtime_opts.desc[]: > > * Reorder entries to match the QAPI schema, like we do in other block > drivers. > > * Document why the schema's "server" and "auth-supported" aren't in > .desc[]. > > * Document why "keyvalue-pairs", "host", "port" and "auth" are in > .desc[], but not the schema. > > * Delete "filename", because none of the three users actually uses it. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > block/rbd.c | 39 ++++++++++++++++++++++++--------------- > 1 file changed, 24 insertions(+), 15 deletions(-) > Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature