From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Max Reitz <mreitz@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2/2] iotests: Mixed quorum child device specifications
Date: Fri, 21 Feb 2014 21:29:38 +0100 [thread overview]
Message-ID: <20140221202938.GA24686@irqsave.net> (raw)
In-Reply-To: <1393011848-18742-3-git-send-email-mreitz@redhat.com>
The Friday 21 Feb 2014 à 20:44:08 (+0100), Max Reitz wrote :
> Add a test case to test 081 for mixing full option dicts and reference
> strings of specifying the quorum child block devices through QMP.
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
> tests/qemu-iotests/081 | 52 ++++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/081.out | 15 +++++++++++++
> 2 files changed, 67 insertions(+)
>
> diff --git a/tests/qemu-iotests/081 b/tests/qemu-iotests/081
> index be34544..421c7cc 100755
> --- a/tests/qemu-iotests/081
> +++ b/tests/qemu-iotests/081
> @@ -44,6 +44,19 @@ _supported_fmt raw
> _supported_proto generic
> _supported_os Linux
>
> +function do_run_qemu()
> +{
> + echo Testing: "$@" | _filter_imgfmt
> + $QEMU -nographic -qmp stdio -serial none "$@"
> + echo
> +}
> +
> +function run_qemu()
> +{
> + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp | _filter_qemu_io | \
> + sed -e 's/"sector-num": [0-9]*/"sector-num": X/'
> +}
> +
> quorum="file.driver=quorum,file.children.0.file.filename=$TEST_DIR/1.raw"
> quorum="$quorum,file.children.1.file.filename=$TEST_DIR/2.raw"
> quorum="$quorum,file.children.2.file.filename=$TEST_DIR/3.raw,file.vote-threshold=2"
> @@ -80,6 +93,45 @@ echo "== checking quorum correction =="
> $QEMU_IO -c "open -o $quorum" -c "read -P 0x32 0 $size" | _filter_qemu_io
>
> echo
> +echo "== checking mixed reference/option specification =="
> +
> +run_qemu -drive "file=$TEST_DIR/2.raw,format=$IMGFMT,if=none,id=drive2" <<EOF
> +{ "execute": "qmp_capabilities" }
> +{ "execute": "blockdev-add",
> + "arguments": {
> + "options": {
> + "driver": "quorum",
> + "id": "drive0-quorum",
> + "vote-threshold": 2,
> + "children": [
> + {
> + "driver": "raw",
> + "file": {
> + "driver": "file",
> + "filename": "$TEST_DIR/1.raw"
> + }
> + },
> + "drive2",
> + {
> + "driver": "raw",
> + "file": {
> + "driver": "file",
> + "filename": "$TEST_DIR/3.raw"
> + }
> + }
> + ]
> + }
> + }
> +}
> +{ "execute": "human-monitor-command",
> + "arguments": {
> + "command-line": 'qemu-io drive0-quorum "read -P 0x32 0 $size"'
> + }
> +}
> +{ "execute": "quit" }
> +EOF
> +
> +echo
> echo "== breaking quorum =="
>
> $QEMU_IO -c "write -P 0x41 0 $size" "$TEST_DIR/1.raw" | _filter_qemu_io
> diff --git a/tests/qemu-iotests/081.out b/tests/qemu-iotests/081.out
> index b5b55ab..3bf882b 100644
> --- a/tests/qemu-iotests/081.out
> +++ b/tests/qemu-iotests/081.out
> @@ -25,6 +25,21 @@ wrote 10485760/10485760 bytes at offset 0
> read 10485760/10485760 bytes at offset 0
> 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
>
> +== checking mixed reference/option specification ==
> +Testing: -drive file=TEST_DIR/2.IMGFMT,format=IMGFMT,if=none,id=drive2
> +QMP_VERSION
> +{"return": {}}
> +{"return": {}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "QUORUM_REPORT_BAD", "data": {"node-name": "%s", "ret": false, "sectors-count": false, "sector-num": X}}
I think I wrote something wrong with the QMP events since you got
"node-name": "%s".
Will check that.
Best regards
Benoît
> +read 10485760/10485760 bytes at offset 0
> +10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +{"return": ""}
> +{"return": {}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "ide1-cd0", "tray-open": true}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "floppy0", "tray-open": true}}
> +
> +
> == breaking quorum ==
> wrote 10485760/10485760 bytes at offset 0
> 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> --
> 1.9.0
>
>
prev parent reply other threads:[~2014-02-21 20:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-21 19:44 [Qemu-devel] [PATCH 0/2] quorum: Simplify quorum_open() Max Reitz
2014-02-21 19:44 ` [Qemu-devel] [PATCH 1/2] " Max Reitz
2014-02-21 20:04 ` Benoît Canet
2014-02-21 19:44 ` [Qemu-devel] [PATCH 2/2] iotests: Mixed quorum child device specifications Max Reitz
2014-02-21 20:29 ` Benoît Canet [this message]
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=20140221202938.GA24686@irqsave.net \
--to=benoit.canet@irqsave.net \
--cc=kwolf@redhat.com \
--cc=mreitz@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).