qemu/tests/qemu-iotests
Stefan Hajnoczi b53169eae0 blockdev: add sync mode to drive-backup QMP command
The drive-backup command is similar to the drive-mirror command, except
no guest data written after the command executes gets copied.  Add a
sync mode argument which determines whether the entire disk is copied,
just allocated clusters, or only clusters being written to by the guest.

Currently only sync mode 'full' is supported - it copies the entire disk.
For read-only point-in-time snapshots we may only need sync mode 'none'
since the target can be a qcow2 file using the guest's disk as its
backing file (no need to copy the entire disk).  Finally, sync mode
'top' is useful if we wish to preserve the backing chain.

Note that this patch just adds the sync mode argument to drive-backup.
It does not implement sync modes 'top' or 'none'.  This patch is
necessary so we can add a drive-backup HMP command that behaves like the
existing drive-mirror HMP command and takes a sync mode.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-07-15 09:49:00 +02:00
..
.gitignore qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
001 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
001.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
002 qemu-iotests: A few more bdrv_pread/pwrite tests 2013-04-15 08:26:18 +02:00
002.out qemu-iotests: A few more bdrv_pread/pwrite tests 2013-04-15 08:26:18 +02:00
003 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
003.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
004 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
004.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
005 iotests: fix error in 005 2012-04-19 15:48:52 +02:00
005.out iotests: fix error in 005 2012-04-19 15:48:52 +02:00
006 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
006.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
007 qemu-iotests: use -nographic in test case 007 2013-03-15 16:07:51 +01:00
007.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
008 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
008.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
009 qemu-iotests: Fix call syntax for qemu-io 2012-04-05 15:10:06 +02:00
009.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
010 qemu-iotests: Fix call syntax for qemu-io 2012-04-05 15:10:06 +02:00
010.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
011 qemu-iotests: Fix call syntax for qemu-io 2012-04-05 15:10:06 +02:00
011.out qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
012 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
012.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
013 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
013.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
014 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
014.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
015 qemu-iotests: Update filter for default cluster size 2012-02-23 10:29:47 +01:00
015.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
016 qemu-iotests: only run 016 for file and sheepdog protocols 2012-02-23 10:29:47 +01:00
016.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
017 qemu-iotests: fix 017 018 for vmdk 2013-05-08 15:28:50 +02:00
017.out qemu-iotests: fix 017 018 for vmdk 2013-05-08 15:28:50 +02:00
018 qemu-iotests: fix 017 018 for vmdk 2013-05-08 15:28:50 +02:00
018.out qemu-iotests: fix 017 018 for vmdk 2013-05-08 15:28:50 +02:00
019 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
019.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
020 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
020.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
021 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
021.out qemu-iotests: test invalid pattern argument handling in qemu-io 2012-02-22 16:17:02 +01:00
022 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
022.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
023 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
023.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
024 qemu-iotests: Use zero-based offsets for IO patterns 2012-02-23 10:29:46 +01:00
024.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
025 qemu-iotests: add qed support to 025 image resize test 2012-02-23 10:29:47 +01:00
025.out qemu-iotests: test bdrv_truncate 2012-02-22 16:17:03 +01:00
026 qemu-img: find the image end offset during check 2013-02-22 21:21:08 +01:00
026.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
027 qemu-iotests: add support for rbd and sheepdog protocols 2012-02-23 10:29:46 +01:00
027.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
028 qemu-iotests: Test rebase with short backing file 2012-02-29 15:48:44 +01:00
028.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
029 qemu-iotests: test loading internal snapshots 2012-02-23 10:29:47 +01:00
029.out qemu-iotests: Always filter cluster_size out in _make_test_img 2012-04-19 15:48:52 +02:00
030 qemu-iotests: make create_image() common 2013-06-04 12:11:58 +02:00
030.out qemu-iotests: add tests for streaming error handling 2012-09-28 19:40:56 +02:00
031 qemu-iotests: Fix test 031 for qcow2 v3 support 2012-04-20 15:57:30 +02:00
031.out qcow2: implement lazy refcounts 2012-08-06 22:39:14 +02:00
032 qemu-iotests: Test bdrv_close while AIO is in flight 2012-04-19 15:48:52 +02:00
032.out qemu-iotests: Test bdrv_close while AIO is in flight 2012-04-19 15:48:52 +02:00
033 qemu-iotests: add a simple test for write_zeroes 2012-04-20 15:57:30 +02:00
033.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
034 qemu-iotests: Test backing file COW with zero clusters 2012-04-20 15:57:30 +02:00
034.out qemu-iotests: Test backing file COW with zero clusters 2012-04-20 15:57:30 +02:00
035 qemu-iotests: mark 035 qcow2-only 2012-05-25 18:13:44 +02:00
035.out qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
036 qemu-img: find the image end offset during check 2013-02-22 21:21:08 +01:00
036.out qcow2: implement lazy refcounts 2012-08-06 22:39:14 +02:00
037 qemu-iotests: Some backing file COW tests 2012-06-15 14:03:43 +02:00
037.out qemu-iotests: Some backing file COW tests 2012-06-15 14:03:43 +02:00
038 qemu-iotests: COW with many AIO requests on the same cluster 2012-06-15 14:03:43 +02:00
038.out qcow2: Improve check for overlapping allocations 2013-03-28 11:52:43 +01:00
039 qemu-img: find the image end offset during check 2013-02-22 21:21:08 +01:00
039.out block: add BLOCK_O_CHECK for qemu-img check 2012-08-10 10:25:12 +02:00
040 qemu-iotests: add relative backing file tests for block-commit (040) 2012-10-24 10:26:19 +02:00
040.out qemu-iotests: add relative backing file tests for block-commit (040) 2012-10-24 10:26:19 +02:00
041 qemu-iotests: extract wait_until_completed() into iotests.py 2013-06-28 09:20:27 +02:00
041.out block: Adds mirroring tests for resized images 2013-02-01 14:58:28 +01:00
042 qemu-iotests: exclude vmdk for test 042 2013-05-08 15:28:49 +02:00
042.out qemu-iotests: Test qemu-img operation on zero size image 2012-10-24 10:26:18 +02:00
043 qemu-iotests: exclude vmdk and qcow from 043 2013-05-08 15:28:49 +02:00
043.out qemu-iotests: Add 043 backing file chain infinite loop test 2012-10-24 10:26:19 +02:00
044 qemu-iotests: qcow2: Test growing large refcount table 2012-11-14 18:19:21 +01:00
044.out qcow2: Gather clusters in a looping loop 2013-03-28 11:52:44 +01:00
045 tests: Add tests for fdsets 2012-12-11 11:05:11 +01:00
045.out tests: Add tests for fdsets 2012-12-11 11:05:11 +01:00
046 qemu-iotests: More concurrent allocation scenarios 2013-03-28 11:52:42 +01:00
046.out qemu-iotests: More concurrent allocation scenarios 2013-03-28 11:52:42 +01:00
047 qemu-iotests: Add regression test for b7ab0fea 2013-02-01 14:58:28 +01:00
047.out qemu-iotests: Add regression test for b7ab0fea 2013-02-01 14:58:28 +01:00
048 qemu-iotests: Add qemu-img compare test 2013-02-22 21:21:10 +01:00
048.out qemu-iotests: Add qemu-img compare test 2013-02-22 21:21:10 +01:00
049 qemu-iotests: Test qcow2 image creation options 2013-02-22 21:21:10 +01:00
049.out cutils: Support 'P' and 'E' suffixes in strtosz() 2013-06-06 11:27:03 +02:00
050 qemu-iotests: add tests for rebasing zero clusters 2013-03-15 16:07:51 +01:00
050.out qemu-iotests: add tests for rebasing zero clusters 2013-03-15 16:07:51 +01:00
051 block: Fail gracefully when using a format driver on protocol level 2013-04-22 10:27:59 +02:00
051.out block: Fail gracefully when using a format driver on protocol level 2013-04-22 10:27:59 +02:00
052 qemu-iotests: add 052 BDRV_O_SNAPSHOT test 2013-03-19 11:48:37 +01:00
052.out qemu-iotests: add 052 BDRV_O_SNAPSHOT test 2013-03-19 11:48:37 +01:00
053 qemu-iotests: add 053 unaligned compressed image size test 2013-04-22 11:37:12 +02:00
053.out qemu-iotests: add 053 unaligned compressed image size test 2013-04-22 11:37:12 +02:00
054 qemu-iotests: Try creating huge qcow2 image 2013-05-24 16:17:55 +02:00
054.out qemu-iotests: fix 054 cluster size help output 2013-06-04 12:11:57 +02:00
055 blockdev: add sync mode to drive-backup QMP command 2013-07-15 09:49:00 +02:00
055.out qemu-iotests: add 055 drive-backup test case 2013-06-28 09:20:27 +02:00
check tests: set MALLOC_PERTURB_ to expose memory bugs 2013-05-29 08:16:06 -05:00
common iotests: Add 'check -ssh' option to test Secure Shell block device. 2013-04-15 10:18:05 +02:00
common.config tests: allow qemu-iotests to be run against nbd backend 2012-11-14 18:19:21 +01:00
common.filter qemu-iotests: Fix _filter_qemu 2013-04-22 10:27:58 +02:00
common.pattern qemu-iotests: Use zero-based offsets for IO patterns 2012-02-23 10:29:46 +01:00
common.rc qemu-iotests: Try creating huge qcow2 image 2013-05-24 16:17:55 +02:00
COPYING qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
group qemu-iotests: add 055 drive-backup test case 2013-06-28 09:20:27 +02:00
iotests.py qemu-iotests: extract wait_until_completed() into iotests.py 2013-06-28 09:20:27 +02:00
Makefile qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
qcow2.py qcow2.py: Subcommand for changing header fields 2013-05-24 16:17:55 +02:00
qed.py qemu-iotests: add qed.py image manipulation utility 2012-08-06 22:39:14 +02:00
README qemu-iotests: README: Fix spelling 2012-02-23 10:29:46 +01:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@savannah.nongnu.org.