On 12/22/2015 04:06 AM, Daniel P. Berrange wrote: > Allow creation of user creatable object types with qemu-nbd > via a --object command line arg. This will be used to supply > passwords and/or encryption keys to the various block driver > backends via the recently added 'secret' object type. > > # echo -n letmein > mypasswd.txt > # qemu-nbd --object secret,id=sec0,file=mypasswd.txt \ > ...other nbd args...
Same comments as on 2/7. > @@ -45,6 +48,7 @@ > #define QEMU_NBD_OPT_AIO 2 > #define QEMU_NBD_OPT_DISCARD 3 > #define QEMU_NBD_OPT_DETECT_ZEROES 4 > +#define QEMU_NBD_OPT_OBJECT 5 Pre-existing, but these are unsafe; they conflict with actual byte values. As long as you are touching this, you should fix them to start at 256 (a separate patch wouldn't hurt). > +static int object_create(void *opaque, QemuOpts *opts, Error **errp) > +{ > + Error *err = NULL; > + char *type = NULL; > + char *id = NULL; > + void *dummy = NULL; > + OptsVisitor *ov; > + QDict *pdict; > + > + ov = opts_visitor_new(opts); > + pdict = qemu_opts_to_qdict(opts, NULL); > + > + visit_start_struct(opts_get_visitor(ov), &dummy, NULL, NULL, 0, &err); Same comments as on 2/7. > @@ -417,6 +485,7 @@ int main(int argc, char **argv) > { "format", 1, NULL, 'f' }, > { "persistent", 0, NULL, 't' }, > { "verbose", 0, NULL, 'v' }, > + { "object", 1, NULL, QEMU_NBD_OPT_OBJECT }, > { NULL, 0, NULL, 0 } Pre-existing, but 0 and 1 are magic numbers; I prefer the symbolic names no_argument and required_argument (and optional_argument for 2). > +++ b/qemu-nbd.texi > @@ -14,6 +14,13 @@ Export QEMU disk image using NBD protocol. > @table @option > @item @var{filename} > is a disk image filename > +@item --object type,id=@var{id},...props... > + define a new instance of the @var{type} object class > + identified by @var{id}. See the @code{qemu(1)} manual > + page for full details of the properties supported. > + The only object type that it makes sense to define > + is the @code{secret} object, which is used to supply > + passwords and/or encryption keys. Awfully short line-wrapping; although it doesn't matter in the final generated docs. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature