From: Max Reitz <mreitz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Max Reitz <mreitz@redhat.com>
Subject: [Qemu-devel] [PATCH v3 00/21] blkdebug/blkverify: Allow QMP configuration
Date: Wed, 11 Dec 2013 19:10:52 +0100 [thread overview]
Message-ID: <1386785473-26157-1-git-send-email-mreitz@redhat.com> (raw)
Currently, the configuration of blkdebug and blkverify is done through
the "filename" alone. There is now way of manually choosing blkdebug or
blkverify as a driver and using a normal image filename.
In the case of blkdebug, the filename starts with the protocol prefix,
follows up with the name of a configuration file and ends with the name
of the image file.
In the case of blkverify, the filename starts with the protocol prefix,
follows up with the raw reference image filename and ends with the name
of the image file.
This patch allows the configuration of both drivers completely through
QMP and accordingly command-line options. The driver has to be selected
through the driver option (or similar), the image filename may be given
either as the filename itself or through a x.filename option, where "x"
depends on the driver. Further options may be required depending on the
driver.
In case of blkverify, the test image may be specified either through the
filename or as a BlockdevRef reference through the "test" option. The
raw image is referenced as "raw".
In case of blkdebug, one may either set the "config" option to the
filename of a configuration file, or the content of the configuration
file may be given directly (as options). The image filename is either
specified as the filename or referenced through the "image" option.
v3:
- The first few patches are probably similar to the ones from the
previous series; but it's probably best to see this series as a
completely new one.
Max Reitz (21):
blkdebug: Use errp for read_config()
blkdebug: Don't require sophisticated filename
qdict: Add qdict_array_split()
qapi: extend qdict_flatten() for QLists
qemu-option: Add qemu_config_parse_qdict()
blkdebug: Always call read_config()
blkdebug: Use command-line in read_config()
block: Allow reference for bdrv_file_open()
block: Pass reference to bdrv_file_open()
block: Allow block devices without files
block: Allow recursive "file"s
qemu-iotests: Fix output of test 051
blockdev: Move "file" to legacy_opts
blkdebug: Allow command-line file configuration
blkdebug: Make filename optional
blkverify: Allow command-line configuration
blkverify: Don't require protocol filename
blkdebug: Alias "errno" as "error"
qapi: QMP interface for blkdebug and blkverify
qemu-io: Make filename optional
iotests: Test new blkdebug/blkverify interface
block.c | 58 ++++++++++---
block/blkdebug.c | 90 ++++++++++++++------
block/blkverify.c | 65 ++++++++++-----
block/cow.c | 3 +-
block/qcow.c | 3 +-
block/qcow2.c | 2 +-
block/qed.c | 4 +-
block/sheepdog.c | 4 +-
block/vhdx.c | 2 +-
block/vmdk.c | 4 +-
blockdev.c | 19 +++--
include/block/block.h | 3 +-
include/qapi/qmp/qdict.h | 1 +
include/qemu/config-file.h | 6 ++
qapi-schema.json | 94 ++++++++++++++++++++-
qemu-io.c | 10 ++-
qobject/qdict.c | 81 +++++++++++++++++-
tests/qemu-iotests/051.out | 2 +-
tests/qemu-iotests/071 | 201 +++++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/071.out | 73 ++++++++++++++++
tests/qemu-iotests/group | 1 +
util/qemu-config.c | 95 +++++++++++++++++++++
22 files changed, 729 insertions(+), 92 deletions(-)
create mode 100755 tests/qemu-iotests/071
create mode 100644 tests/qemu-iotests/071.out
--
1.8.5.1
next reply other threads:[~2013-12-11 18:10 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-11 18:10 Max Reitz [this message]
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 01/21] blkdebug: Use errp for read_config() Max Reitz
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 02/21] blkdebug: Don't require sophisticated filename Max Reitz
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 03/21] qdict: Add qdict_array_split() Max Reitz
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 04/21] qapi: extend qdict_flatten() for QLists Max Reitz
2013-12-11 18:23 ` [Qemu-devel] [PATCH v4 " Max Reitz
2013-12-12 6:17 ` [Qemu-devel] [PATCH v3 " Fam Zheng
2013-12-13 15:52 ` Max Reitz
2013-12-12 6:21 ` Fam Zheng
2013-12-13 15:53 ` Max Reitz
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 05/21] qemu-option: Add qemu_config_parse_qdict() Max Reitz
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 06/21] blkdebug: Always call read_config() Max Reitz
2013-12-11 18:10 ` [Qemu-devel] [PATCH v3 07/21] blkdebug: Use command-line in read_config() Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 08/21] block: Allow reference for bdrv_file_open() Max Reitz
2013-12-12 8:01 ` Fam Zheng
2013-12-13 15:55 ` Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 09/21] block: Pass reference to bdrv_file_open() Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 10/21] block: Allow block devices without files Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 11/21] block: Allow recursive "file"s Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 12/21] qemu-iotests: Fix output of test 051 Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 13/21] blockdev: Move "file" to legacy_opts Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 14/21] blkdebug: Allow command-line file configuration Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 15/21] blkdebug: Make filename optional Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 16/21] blkverify: Allow command-line configuration Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 17/21] blkverify: Don't require protocol filename Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 18/21] blkdebug: Alias "errno" as "error" Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 19/21] qapi: QMP interface for blkdebug and blkverify Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 20/21] qemu-io: Make filename optional Max Reitz
2013-12-11 18:11 ` [Qemu-devel] [PATCH v3 21/21] iotests: Test new blkdebug/blkverify interface Max Reitz
2013-12-12 10:41 ` Fam Zheng
2013-12-13 15:59 ` Max Reitz
2013-12-12 10:45 ` [Qemu-devel] [PATCH v3 00/21] blkdebug/blkverify: Allow QMP configuration Fam Zheng
-- strict thread matches above, loose matches on Subject: below --
2013-12-13 17:10 Max Reitz
2013-12-13 17:15 ` Max Reitz
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=1386785473-26157-1-git-send-email-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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).