Statistics
| Branch: | Revision:

root / tests / qemu-iotests @ b3ce604e

# Date Author Comment
1b2eff62 06/15/2012 03:03 pm Stefan Hajnoczi

qemu-iotests: add qcow2.py set-feature-bit command

This new command sets feature bits in the image file header:

qcow2.py set-feature-bit incompatible|compatible|autoclear <bit>

The bit number must be in the range [0, 64).

Signed-off-by: Stefan Hajnoczi <>...

d551cd50 06/15/2012 03:03 pm Stefan Hajnoczi

qemu-iotests: add 036 autoclear feature bit test

This new test validates the autoclear feature bit behavior. When QEMU
opens a qcow2v3 image file with an unknown autoclear feature bit the bit
should be cleared in the image file header.

Signed-off-by: Stefan Hajnoczi <>...

ab68cdfa 06/15/2012 03:03 pm Paolo Bonzini

qemu-iotests: fill streaming test image with data

The TestStreamStop test case is racy; if the job completes before we can
cancel it, it fails. If we remove the sleep the job will be canceled
before it has even started, and the test succeeds but it is also not...

0fd05e8d 06/15/2012 03:03 pm Paolo Bonzini

qemu-iotests: start vms in qtest mode

This way, they will not execute any VM code at all. However, right now
the cancellation test is "relying" on being slowed down by TCG executing
BIOS code. So, change the timeouts.

Signed-off-by: Paolo Bonzini <>...

bce283cc 06/15/2012 03:03 pm Kevin Wolf

qemu-iotests: Some backing file COW tests

Looks like we're still missing these very basic tests for backing file
handling.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Paolo Bonzini <>

0446919d 06/15/2012 03:03 pm Kevin Wolf

qemu-iotests: COW with many AIO requests on the same cluster

This one is a bit more interesting. The COW operation isn't performed
completely synchronously, and therefore dependencies must be handled
correctly when multiple requests write to the same unallocated cluster....

b84762e2 05/25/2012 07:13 pm Stefan Hajnoczi

qemu-iotests: mark 035 qcow2-only

The 035 parallel aio write test relies on knowledge of qcow2 metadata
layout to stress parallel L2 table accesses. This only works for qcow2
unless we add additional calculations for qed or other formats.

Mark this test as qcow2-only....

efcc7a23 05/10/2012 12:01 pm Paolo Bonzini

stream: do not copy unallocated sectors from the base

Unallocated sectors should really never be accessed by the guest,
so there's no need to copy them during the streaming process.
If they are read by the guest during streaming, guest-initiated
copy-on-read will copy them (we're in the base == NULL case, which...

6e343609 05/10/2012 12:01 pm Paolo Bonzini

stream: add testcase for partial streaming

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

863a5d04 05/10/2012 11:32 am Paolo Bonzini

stream: fix sectors not allocated test

The test on sectors not allocated can fail if the L1/L2 tables are
not on disk yet. Allow tests to shutdown the VM early.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

8655d2de 05/10/2012 11:32 am Paolo Bonzini

qemu-io: correctly print non-integer values as decimals

qemu-io's cvtstr function sometimes will incorrectly omit the
decimal part of the number, and sometimes will incorrectly include
it. This patch fixes both. The former is more serious, and can
be seen in the patches to 027.out and 033.out....

c68b039a 05/10/2012 11:32 am Paolo Bonzini

qemu-iotests: strip spaces from qemu-img/qemu-io/qemu command lines

A trailing space is left when qemu-img has no arguments, for example if
-nocache is not used. This becomes an empty argument after split()
and causes qemu-io to fail.

Signed-off-by: Paolo Bonzini <>...

a5126c75 05/02/2012 07:39 pm Dong Xu Wang

qemu-iotests: ignore fragmentation information for qed

We added image fragmentation statistics functions to qemu-img several days
ago, those patches will cause "./check -qed" failed. This patch will ignore
fragmentation statistics information of qed format, and then "./check -qed"...

dad5e576 05/02/2012 07:39 pm Kevin Wolf

qemu-iotests: Many parallel allocating I/O requests

This test case manages to let qcow2 abort because its cache is used up
and it can't find free cache entries for new requests any more.

Signed-off-by: Kevin Wolf <>

e425306a 04/27/2012 05:44 pm Stefan Hajnoczi

qemu-iotests: add block-stream speed value test case

Add tests to exercise the InvalidParameter 'speed' error code path, as
well as the regular success case for setting the speed. The
block-stream 'speed' parameter allows the speed limit of the job to be...

64546784 04/23/2012 10:29 pm Anthony Liguori

Merge remote-tracking branch 'qmp/queue/qmp' into staging

  • qmp/queue/qmp:
    qapi: g_hash_table_find() instead of GHashTableIter.
    qmp: make block job command naming consistent
db58f9c0 04/23/2012 07:02 pm Stefan Hajnoczi

qmp: make block job command naming consistent

The block streaming and job commands used '_' instead of '-' for reasons
of compatibility with libvirt, which already included support for the
'_' naming. However, the semantics of block_job_cancel have changed and...

ee3a315e 04/20/2012 04:57 pm Paolo Bonzini

qemu-iotests: add a simple test for write_zeroes

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

ab3a32ad 04/20/2012 04:57 pm Kevin Wolf

qemu-iotests: Test backing file COW with zero clusters

Signed-off-by: Kevin Wolf <>

89004368 04/20/2012 04:57 pm Kevin Wolf

qemu-iotests: Add -o and make v3 the default for qcow2

This adds an -o option to qemu-iotests, which is an option string that
is passed through to qemu-img create -o... This allows testing different
subformat with a command like './check -qcow2 -o compat=0.10'....

1042ec94 04/20/2012 04:57 pm Kevin Wolf

qemu-iotests: Fix test 031 for qcow2 v3 support

qcow2.py must be updated to work with version 3 images at all, the
output has changed since the feature table extension has been added, and
version 2 and version 3 images can't possibly have the same test output....

29926112 04/20/2012 01:58 pm Andreas Färber

iotests: Resolve test failures caused by hostname

`hostname -s` may output an errror:
hostname: Name or service not known
This causes all tests to fail for `make check-block`.

Suppress such error messages, letting the tests succeed.

Signed-off-by: Andreas Färber <>...

7299550b 04/19/2012 04:48 pm Kevin Wolf

qemu-iotests: Always filter cluster_size out in _make_test_img

Some image formats do have a cluster size, others don't, but there are
tests that work with both sets of images and currently we get failures
because the qemu-img create output doesn't mention the cluster size for...

aafcdcc9 04/19/2012 04:48 pm Kevin Wolf

qemu-iotests: Test bdrv_close while AIO is in flight

If the BlockDriverState is closed/freed without draining the AIO
requests first, the request coroutines may work on invalid data and file
descriptors or have some dangling pointers that cause segfaults....

8ff9ae00 04/19/2012 04:48 pm Dong Xu Wang

iotests: fix error in 005

According comment, we should not read again, we will write.

Signed-off-by: Dong Xu Wang <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

28d3d165 04/05/2012 04:10 pm Stefan Weil

qemu-iotests: Fix call syntax for qemu-io

qemu-io requires options first, then fixed parameters.

GNU getopt also allows options at the end, but POSIX getopt
doesn't. Try "export POSIXLY_CORRECT=y" to get the POSIX
behaviour with GNU getopt, too.

Cc: Kevin Wolf <>...

21af8148 04/05/2012 04:08 pm Stefan Weil

qemu-iotests: Fix call syntax for qemu-img

qemu-img requires first options, then file name, then size.

GNU getopt also allows options at the end, but POSIX getopt
doesn't. Try "export POSIXLY_CORRECT=y" to get the POSIX
behaviour with GNU getopt, too.

Cc: Kevin Wolf <>...

6e19b3c4 04/05/2012 03:54 pm Kevin Wolf

qemu-iotests: qcow2.py

This adds a tool that is meant to inspect and edit qcow2 files in a
low-level way, that wouldn't be possible with qemu-img/io, for example
by adding yet unknown extensions or flags. This way we can test whether
qemu deals properly with future backwards compatible extensions....

f394f1fe 04/05/2012 03:54 pm Kevin Wolf

qemu-iotests: Test unknown qcow2 header extensions

The immportant thing here is that header extensions don't get silently
dropped when the header is rewritten, e.g. during a rebase.

Signed-off-by: Kevin Wolf <>

3811f63a 03/12/2012 04:14 pm Kevin Wolf

qemu-iotests: Mark some tests as quick

This creates a new test group 'quick' for some test case that take at
most a couple of seconds each, so that the group can be run during a
quick 'make check'

Signed-off-by: Kevin Wolf <>

049255b6 02/29/2012 04:48 pm Stefan Hajnoczi

qemu-iotests: export TEST_DIR for non-bash tests

Since qemu-iotests may need to create large image files it is possible
to specify the test directory. The TEST_DIR variable needs to be
exported so non-bash tests can make use of it.

Signed-off-by: Stefan Hajnoczi <>...

f345cfd0 02/29/2012 04:48 pm Stefan Hajnoczi

qemu-iotests: add iotests Python module

Block layer tests that involve QMP commands rather than qemu-img or
qemu-io are not well-suited for shell scripting. This patch adds a
Python module which allows tests to be written in Python instead.

The basic API is:...

37ce63eb 02/29/2012 04:48 pm Stefan Hajnoczi

test: add image streaming tests

This patch adds a test suite for the image streaming feature. It
exercises the 'block_stream', 'block_job_cancel', 'block_job_set_speed',
and 'query-block-jobs' QMP commands.

Signed-off-by: Stefan Hajnoczi <>...

a06d5cc2 02/29/2012 04:48 pm Kevin Wolf

qemu-iotests: Filter out DOS line endings

This one makes it possible to run qemu-iotests on a Windows build using Wine
and get somewhat meaningful results.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

92ab69b6 02/29/2012 04:48 pm Kevin Wolf

qemu-iotests: 026: Reduce output changes for cache=none qcow2

qemu-iotests supports the -nocache option which makes the tests run with
cache=none. For blkdebug tests with qcow2 this means that we may see
test results that differ from cache=writethrough. This patch makes the...

6ce2d77a 02/29/2012 04:48 pm Kevin Wolf

qemu-iotests: Test rebase with short backing file

This tests that qemu-img rebase doesn't assume that the backing file has
the same size as the image, but considers that it can be smaller.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

5177c512 02/23/2012 11:29 am Christoph Hellwig

qemu-iotests: only run 016 for file and sheepdog protocols

016 writes past EOF which isn't support by most protocols, so limit
it to file and sheepdog, which explicitly support it.

Pointed out by Josh Durgin <>.

Signed-off-by: Christoph Hellwig <>

5e654e08 02/23/2012 11:29 am Mitnick Lyu

qemu-iotests: common.config: Fix no $TEST_DIR directory

mkdir $TEST_DIR on common.config first run

Signed-off-by: Mitnick Lyu <>
Signed-off-by: Christoph Hellwig <>

92eeab5b 02/23/2012 11:29 am Josh Durgin

qemu-iotests: Update rbd support

rbd implements bdrv_truncate, so test 025 will work.

Signed-off-by: Josh Durgin <>
Signed-off-by: Christoph Hellwig <>

25bb8a36 02/23/2012 11:29 am Stefan Hajnoczi

qemu-iotests: add qed support to 025 image resize test

QED now supports the truncate (aka resize) operation for growing images.
Update test 025 so it runs for QED.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Christoph Hellwig <>

bfe85248 02/23/2012 11:29 am Kevin Wolf

qemu-iotests: Update filter for default cluster size

Until recently, qemu-img create displayed cluster_size=0 for the default
cluster size. It is changed to display the real cluster size now, which results
in the cluster size not being filtered out any more....

8455e4ee 02/23/2012 11:29 am Kevin Wolf

qemu-iotests: test loading internal snapshots

Test loading internal snapshots where the L1 table of the snapshot
is smaller than the current L1 table.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

df4b627e 02/23/2012 11:29 am Lucas Meneghel Rodrigues

qemu-iotests: check: print relevant path information

Print the paths of the programs under test
(qemu, qemu-img and qemu-io).

Signed-off-by: Lucas Meneghel Rodrigues <>
Signed-off-by: Christoph Hellwig <>

d305fd5d 02/23/2012 11:29 am Lucas Meneghel Rodrigues

qemu-iotests: common.config: Allow use of arbitrary qemu* paths

Since we might want to test arbitrary qemu, qemu-img and
qemu-io paths, allow users to specify environment variable
values for QEMU_PROG, QEMU_IMG_PROG and QEMU_IO_PROG so
the testsuite will use those values rather than find them...

f5a4bbd9 02/23/2012 11:29 am Stefan Hajnoczi

qemu-iotests: add support for qed format

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Christoph Hellwig <>

657c166f 02/23/2012 11:29 am Stefan Weil

qemu-iotests: README: Fix spelling

Signed-off-by: Stefan Weil <>
Signed-off-by: Christoph Hellwig <>

62284d17 02/23/2012 11:29 am Stefan Hajnoczi

qemu-iotests: filter IMGFMT correctly in 019

Test 019 can be run with qcow2 and qed image formats. Replace the
specific image format value with "IMGFMT" so the golden output does not
hardcode qcow2 or qed.

This patch also includes a typo fix for "occurrences"....

9cdfa1b3 02/23/2012 11:29 am MORITA Kazutaka

qemu-iotests: add support for rbd and sheepdog protocols

This patch introduces tests for protocols other than file, and
initially supports rbd and sheepdog.

Signed-off-by: MORITA Kazutaka <>
Signed-off-by: Christoph Hellwig <>

dd0c35d6 02/23/2012 11:29 am Stefan Hajnoczi

qemu-iotests: Use zero-based offsets for IO patterns

The io_pattern style functions have the following loop:

for i in `seq 1 $count`; do
echo ... $(( start + i * step )) ...
done

Offsets are 1-based so start=1024, step=512, count=4 yields:
1536, 2048, 2560, 3072...

2684871a 02/23/2012 11:29 am Christoph Hellwig

qemu-iotests: filter TEST_DIR correctly in 019

Signed-off-by: Kevin Wolf <>

939e1640 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: test qemu-img rebase

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

908eaf68 02/22/2012 05:17 pm Stefan Hajnoczi

qemu-iotests: explicitly use bash interpreter

The tests use bash language features like 'let', which aren't supported
by /bin/sh on systems that use a conservative shell like dash. This
patch changes the interpreter to /bin/bash.

Signed-off-by: Stefan Hajnoczi <>...

596f4f96 02/22/2012 05:17 pm Stefan Hajnoczi

qemu-iotests: test bdrv_truncate

This patch adds an image resize grow test to ensure that existing data
is not lost during grow and new space is zeroed.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Christoph Hellwig <>

d586bc63 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: improve rebase test

The old test didn't consider cases in which the COW files contains some
unallocated clusters and after them allocated ones again.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

52280eac 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: qcow2 error path tests

This adds test cases for qcow2 error paths (using blkdebug)

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

72bb2025 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: consider more cases in parsing qemu-io output

I got a bug report with test output diffs like this:

-4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+4 KiB, 1 ops; 0.0000 sec (inf EiB/sec and inf ops/sec)

This patch extends the regular expression to consider terabytes, petabytes and...

2547caa1 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: improve test for qemu-img convert with backing file

Additionally to testing the qemu-img convert -B option, also test
-o backing_file.

Also, the old test acidentlly used a pattern of zeros for most of the writes,
so that the allocation test didn't really work out. This is fixed by using an...

89d22bc3 02/22/2012 05:17 pm Stefan Hajnoczi

qemu-iotests: add sub-cluster allocating write test for sparse image formats

Image formats that grow the image file on demand and are organized into
clusters must handle sub-cluster allocating writes. Such writes touch
a portion of a previously unallocated data cluster. After the image...

8268b767 02/22/2012 05:17 pm Stefan Hajnoczi

qemu-iotests: add read/write from smaller backing image test

Some image formats support backing images that are smaller than the
image file. This patch adds a test that verifies that reads and writes
beyond the end of backing image work.

Unallocated reads beyond the end of the backing file should produce...

727822f5 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: update expected results after qemu-img changes

The error message for leaked clusters has changed. qemu-iotests needs to be
updated to pass 026 again.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

581e7d53 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: fix 019 golden output

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

c83f64d4 02/22/2012 05:17 pm Stefan Weil

qemu-iotests: fix pattern for write test

The write pattern value 0axb is invalid and evaluates to 0,
so the read check (which uses a correct value of 0xab) will fail.

This failure will only be detected with a separate patch for
qemu-io. Without it, qemu-io cannot interpret hex values...

4bacf057 02/22/2012 05:17 pm Christoph Hellwig

qemu-iotests: test I/O after EOF for growable files

Signed-off-by: Christoph Hellwig <>
Reviwed-by: Kevin Wolf <>

2557d865 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: simple backing file test

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

16701400 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: test merge of backing file when converting

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

9128ae5e 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: test qemu-img convert with backing file for the output image

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

ed4dc684 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: test commiting changes to backing file

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

e8c212d6 02/22/2012 05:17 pm Christoph Hellwig

qemu-iotests: replace FSF postal addresses with www.gnu.org links

Blue Swirl notices that we were using the old FSF post address in the
license boilerplates. Replace both the old and new address with links
to the gnu.org licenses homepage as suggested by Ben Pfaff....

713d76e8 02/22/2012 05:17 pm Christoph Hellwig

qemu-iotests: test invalid pattern argument handling in qemu-io

Signed-off-by: Christoph Hellwig <>
Reviewed-by: Kevin Wolf <>

9c9afe57 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: common.pattern: allow spaces in io() operation

We need to be able to pass "write -b" as an operation to the pattern testing
functions. Unfortunately, this contains a space character...

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

e9029212 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: test bdrv_load/save_vmstate

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

f00851a1 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: fix expected result for 019 after qemu-io change

The output of the alloc command in qemu-io has changed.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

3b5fe6e6 02/22/2012 05:17 pm Stefan Weil

qemu-iotests: add support for vdi format "static" option

VDI supports an image option 'static'.
Ignore "static=off" from qemu-img output.

Signed-off-by: Stefan Weil <>
Signed-off-by: Christoph Hellwig <>

8fc1024c 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: align test requests according to cluster size

Change the io_test and io_test2 functions to take the cluster size of the image
and the number of test requests to issue. Tests are changed to specify a
cluster size (usually 4k), but expected test results stay the same for now...

3da9c8fb 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: 019: Make cluster size dynamic

Change the offsets for test requests according to CLUSTER_SIZE.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

ac5e2b20 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: test larger clusters sizes on qcow2

This patch adds test case 023 which tests some more cluster sizes. For
anythinger larger than 4k clusters we can't use requests that are l2_size or
more (128k for 1k clusters, 2 MB for 4k clusters, 512 MB for 64k clusters)....

3778057d 02/22/2012 05:17 pm Kevin Wolf

qemu-iotests: add test for refcount table growth and snapshots

015: Combined test to grow the refcount table and test snapshots.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Christoph Hellwig <>

b67f3068 02/22/2012 05:17 pm Christoph Hellwig

qemu-iotests: add support for the vdi image format

Signed-off-by: Christoph Hellwig <>

e021915a 02/22/2012 05:17 pm Christoph Hellwig

qemu-iotests: remove test image after 015 is done

Signed-off-by: Christoph Hellwig <>

e76a8e89 02/22/2012 05:17 pm Christoph Hellwig

qemu-iotests: make a few more tests generic

Pretend that a non-implemented check is always successful and thus allow
various tests that were qcow2-specific before to be generic.

Signed-off-by: Christoph Hellwig <>
Reviewed-by: Kevin Wolf <>

5d9c577d 02/22/2012 05:16 pm Christoph Hellwig

qemu-iotests: skip test 005 for vpc format images

The vpc format doesn't support large enough image size for this test.

Signed-off-by: Kevin Wolf <>

6bf19c94 02/22/2012 05:15 pm Christoph Hellwig

qemu-iotests: Initial import into the public repository.

Signed-off-by: Kevin Wolf <>