From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
qemu-block@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PATCH v2 00/10] Make qemu-img/qemu-nbd/qemu-io CLI more flexible
Date: Wed, 23 Dec 2015 17:11:12 +0000 [thread overview]
Message-ID: <1450890682-13600-1-git-send-email-berrange@redhat.com> (raw)
This series of patches expands the syntax of the qemu-img,
qemu-nbd and qemu-io commands to make them more flexible.
v0: http://lists.gnu.org/archive/html/qemu-devel/2015-10/msg04365.html
v1: https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg04014.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.
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-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
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 | 48 ++++
qemu-img-cmds.hx | 44 ++--
qemu-img.c | 570 +++++++++++++++++++++++++++++++++++++---
qemu-img.texi | 14 +
qemu-io.c | 113 +++++++-
qemu-nbd.c | 148 ++++++++---
qemu-nbd.texi | 6 +
qmp.c | 76 +-----
qom/object_interfaces.c | 139 ++++++++++
vl.c | 48 +---
12 files changed, 1008 insertions(+), 253 deletions(-)
--
2.5.0
next reply other threads:[~2015-12-23 17:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-23 17:11 Daniel P. Berrange [this message]
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 01/10] qom: add helpers for UserCreatable object types Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 02/10] qemu-img: add support for --object command line arg Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 03/10] qemu-nbd: " Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 04/10] qemu-io: " Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 05/10] qemu-io: allow specifying image as a set of options args Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 06/10] qemu-nbd: " Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 07/10] qemu-img: " Daniel P. Berrange
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 08/10] qemu-nbd: don't overlap long option values with short options Daniel P. Berrange
2015-12-23 17:38 ` Eric Blake
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 09/10] qemu-nbd: use no_argument/required_argument constants Daniel P. Berrange
2015-12-23 17:40 ` Eric Blake
2015-12-23 17:11 ` [Qemu-devel] [PATCH v2 10/10] qemu-io: " Daniel P. Berrange
2015-12-23 17:41 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1450890682-13600-1-git-send-email-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=afaerber@suse.de \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).