qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 00/10] Make qemu-img/qemu-nbd/qemu-io CLI more flexible
@ 2016-02-15 14:33 Daniel P. Berrange
  2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 01/10] qom: add helpers for UserCreatable object types Daniel P. Berrange
                   ` (10 more replies)
  0 siblings, 11 replies; 20+ messages in thread
From: Daniel P. Berrange @ 2016-02-15 14:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Paolo Bonzini, qemu-block

This series of patches expands the syntax of the qemu-img,
qemu-nbd and qemu-io commands to make them more flexible.

  v0: https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg04365.html
  v1: https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg04014.html
  v2: https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg04354.html
  v3: https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg03381.html
  v4: https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg04984.html
  v5: https://lists.gnu.org/archive/html/qemu-block/2016-02/msg00022.html

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 '--image-opts' parameter which causes
the positional filenames to be interepreted as option strings
rather tha nplain filenames. This avoids the need to use the
JSON syntax, or to add custom CLI args for each block backend
option that exists. The immediate use case is to allow the
user to specify the ID of the 'secret' object they just created.

Finally, there are a few small cleanup patches


NB, this series will conflict with my series adding TLS
support to NBD. After one of the series wins the race to
merge, I will rebase the other series. I don't mind which
merges first really, but the sooner the better considering
the forthcoming soft-freeze and that this is a dep for
several other patch series.

Changed in v6:

 - Add missing docs of --image-opts for qemu-nbd man page (Eric)
 - Remove left over special casing of 'file' in QemuOpts (Kevin)
 - Pass NULL to getopt_long when optionindex is not needed (Eric)
 - Misc typos in qemu-img docs (Eric)
 - Fix qemu-io logic error checking argv/argc opt bounds (Eric)
 - Ensure 'id' is passed into blk_open in qemu-img (Kevin)
 - Share code for doing block dev passwd prompting

Changed in v5:

 - Move more common object creation code into qom/ (Kevin)
 - Add missing @var{} syntax in CLI help definition (Kevin)
 - Declare QemuOpts closer to time of use (Kevin)
 - Directly reference registered opts instead of calling
   qemu_find_opts (Kevin)
 - Use consistent exit/return/goto pattern in qemu-img (Kevin)
 - Remove special casing of 'file' in QemuOpts handling
   for bdrv_open (Kevin)
 - Split file file opening code out into separate method
   (Kevin)

Changed in v4:

 - Fix error reporting when object_create fails

Changed in v3:

 - Rebase to resolve with conflicts against recently
   merged code
 - Remove use of errx()

Changed in v2:

 - Share more common code in qom/object_interfaces.c to
   avoid duplicating so much of 'object_create' in each
   command
 - Remove previously added '--source optstring' parameter
   which replaced the positional filenames, in favour of
   keeping the positional filenames but using a --image-opts
   boolean arg to change their interpretation
 - Added docs for --image-opts to qemu-img man page
 - Use printf instead of echo -n in examples
 - Line wrap help string based on user terminal width not
   source code width
 - Update qemu-nbd/qemu-io to use constants for options
 - Update qemu-nbd to avoid overlapping option values

Daniel P. Berrange (10):
  qom: add helpers for UserCreatable object types
  qemu-io: add support for --object command line arg
  qemu-nbd: add support for --object command line arg
  qemu-img: 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
  qemu-nbd: don't overlap long option values with short options
  qemu-nbd: use no_argument/required_argument constants
  qemu-io: use no_argument/required_argument constants

 hmp.c                           |  52 +----
 include/monitor/monitor.h       |   3 -
 include/qom/object_interfaces.h |  92 ++++++++
 qemu-img-cmds.hx                |  44 ++--
 qemu-img.c                      | 466 ++++++++++++++++++++++++++++++++++++----
 qemu-img.texi                   |  14 ++
 qemu-io.c                       | 116 ++++++++--
 qemu-nbd.c                      | 128 ++++++++---
 qemu-nbd.texi                   |  13 +-
 qmp.c                           |  76 +------
 qom/object_interfaces.c         | 174 +++++++++++++++
 vl.c                            |  68 +-----
 12 files changed, 954 insertions(+), 292 deletions(-)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-04-27 14:55 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-15 14:33 [Qemu-devel] [PATCH v6 00/10] Make qemu-img/qemu-nbd/qemu-io CLI more flexible Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 01/10] qom: add helpers for UserCreatable object types Daniel P. Berrange
2016-04-27  9:26   ` Markus Armbruster
2016-04-27  9:58     ` Daniel P. Berrange
2016-04-27 12:43       ` Eric Blake
2016-04-27 14:55         ` Daniel P. Berrange
2016-04-27 13:37     ` Markus Armbruster
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 02/10] qemu-io: add support for --object command line arg Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 03/10] qemu-nbd: " Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 04/10] qemu-img: " Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 05/10] qemu-io: allow specifying image as a set of options args Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 06/10] qemu-nbd: " Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 07/10] qemu-img: " Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 08/10] qemu-nbd: don't overlap long option values with short options Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 09/10] qemu-nbd: use no_argument/required_argument constants Daniel P. Berrange
2016-02-15 14:33 ` [Qemu-devel] [PATCH v6 10/10] qemu-io: " Daniel P. Berrange
2016-02-15 15:53 ` [Qemu-devel] [PATCH v6 00/10] Make qemu-img/qemu-nbd/qemu-io CLI more flexible Kevin Wolf
2016-02-17 10:10   ` Daniel P. Berrange
2016-02-17 10:37     ` Kevin Wolf
2016-02-17 10:41       ` Daniel P. Berrange

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).