This series of patches expands the syntax of the qemu-img, qemu-nbd and qemu-io commands to make them more flexible.
First all three gain a --object parameter, which allows instantiation of user creatable object types. The immediate use case is to allow for creation of the 'secret' object type to pass passwords for curl, iscsi and rbd drivers. For qemu-nbd this will also be needed to create TLS certificates for encryption support. Then all three gain a '--source' parameter which exposes the full set of block backend parameters in a single arg. This obsoletes the current approach where the filename is specified as a positional arg and then custom CLI args need to be created for each block parameter, eg obsoletes need for things like '-f format'. Again the immediate use case is to allow the user to specify the ID of the 'secret' object then just created. These patches were previousl sent as part of a larger series here: http://lists.gnu.org/archive/html/qemu-devel/2015-10/msg04365.html I split them off, since some parts of that series are merged, and this set of patches is fairly independant of the rest, so doesn't need to gate on them Daniel P. Berrange (7): qom: add user_creatable_add & user_creatable_del methods qemu-img: add support for --object command line arg qemu-nbd: add support for --object command line arg qemu-io: add support for --object command line arg qemu-io: allow specifying image as a set of options args qemu-nbd: allow specifying image as a set of options args qemu-img: allow specifying image as a set of options args hmp.c | 11 +- include/monitor/monitor.h | 3 - include/qemu/option.h | 1 + include/qom/object_interfaces.h | 31 ++ qemu-img-cmds.hx | 44 +-- qemu-img.c | 772 +++++++++++++++++++++++++++++++++++----- qemu-img.texi | 8 + qemu-io.c | 124 ++++++- qemu-nbd.c | 142 +++++++- qemu-nbd.texi | 7 + qmp.c | 75 +--- qom/object_interfaces.c | 76 ++++ util/qemu-option.c | 6 + vl.c | 8 +- 14 files changed, 1120 insertions(+), 188 deletions(-) -- 2.5.0