qemu/tests/qemu-iotests
Eric Blake fbaa6bb3d3 qcow2: Optimize write zero of unaligned tail cluster
We've already improved discards to operate efficiently on the tail
of an unaligned qcow2 image; it's time to make a similar improvement
to write zeroes.  The special case is only valid at the tail
cluster of a file, where we must recognize that any sectors beyond
the image end would implicitly read as zero, and therefore should
not penalize our logic for widening a partial cluster into writing
the whole cluster as zero.

However, note that for now, the special case of end-of-file is only
recognized if there is no backing file, or if the backing file has
the same length; that's because when the backing file is shorter
than the active layer, we don't have code in place to recognize
that reads of a sector unallocated at the top and beyond the backing
end-of-file are implicitly zero.  It's not much of a real loss,
because most people don't use images that aren't cluster-aligned,
or where the active layer is a different size than the backing
layer (especially where the difference falls within a single cluster).

Update test 154 to cover the new scenarios, using two images of
intentionally differing length.

While at it, fix the test to gracefully skip when run as
./check -qcow2 -o compat=0.10 154
since the older format lacks zero clusters already required earlier
in the test.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 20170507000552.20847-11-eblake@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2017-05-11 14:28:07 +02:00
..
sample_images block/vpc: tests for auto-detecting VPC and Hyper-V VHD images 2016-03-14 16:46:42 +01:00
.gitignore iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
001 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
001.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
002 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
002.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
003 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
003.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
004 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
004.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
005 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
005.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
007 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
007.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
008 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
008.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
009 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
009.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
010 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
010.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
011 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
011.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
012 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
012.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
013 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
013.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
014 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
014.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
015 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
015.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
017 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
017.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
018 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
018.out iotests: 018: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
019 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
019.out qemu-io: Switch 'alloc' command to byte-based length 2017-05-11 14:28:05 +02:00
020 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
020.out iotests: 020: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
021 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
021.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
022 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
022.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
023 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
023.out qemu-io: Allow unaligned access by default 2016-05-12 15:33:24 +02:00
024 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
024.out iotests: 024: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
025 block: Drop unmaintained 'archipelago' driver 2017-03-13 12:49:33 +01:00
025.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
026 iotests: Fix typo in 026 2017-04-27 15:46:16 +02:00
026.out iotests: Fix typo in 026 2017-04-27 15:46:16 +02:00
026.out.nocache iotests: Fix typo in 026 2017-04-27 15:46:16 +02:00
027 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
027.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
028 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
028.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
029 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
029.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
030 iotests: 030: Prepare for image locking 2017-05-11 11:08:40 +02:00
030.out qemu-iotests: Test the 'base-node' parameter of 'block-stream' 2016-10-31 16:52:39 +01:00
031 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
031.out qcow2: Write full header on image creation 2016-01-20 13:36:23 +01:00
032 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
032.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
033 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
033.out block: Fix blk_aio_write_zeroes() 2016-04-15 17:22:11 +02:00
034 block: Switch bdrv_write_zeroes() to byte interface 2016-06-08 10:21:08 +02:00
034.out iotests: 034: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
035 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
035.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
036 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
036.out qapi: Drop QERR_UNKNOWN_BLOCK_FORMAT_FEATURE 2016-03-17 15:47:56 +01:00
037 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
037.out iotests: 037: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
038 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
038.out iotests: 038: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
039 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
039.out block: add support for --image-opts in block I/O tests 2016-05-12 15:33:24 +02:00
040 qemu-iotests: Test the reopening of overlay_bs in 'block-commit' 2015-11-11 16:25:47 +01:00
040.out qemu-iotests: Test the reopening of overlay_bs in 'block-commit' 2015-11-11 16:25:47 +01:00
041 iotests: Add mirror tests for orphaned source 2017-04-07 14:44:06 +02:00
041.out iotests: Add mirror tests for orphaned source 2017-04-07 14:44:06 +02:00
042 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
042.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
043 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
043.out block/qapi: always report full_backing_filename 2015-12-18 14:36:17 +01:00
044 qemu-iotests: qcow2: Test growing large refcount table 2012-11-14 18:19:21 +01:00
044.out qcow2: Don't rely on free_cluster_index in alloc_refcount_block() (CVE-2014-0147) 2014-04-01 15:21:03 +02:00
045 qemu-iotests: add tests for runtime fd passing via SCM rights 2013-09-12 10:12:47 +02:00
045.out qemu-iotests: add tests for runtime fd passing via SCM rights 2013-09-12 10:12:47 +02:00
046 iotests: 046: Prepare for image locking 2017-05-11 11:08:40 +02:00
046.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
047 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
047.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
048 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
048.out block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
049 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
049.out option: Tweak invalid size error message and unbreak iotest 049 2017-02-28 20:40:31 +01:00
050 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
050.out iotests: 050: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
051 iotests/051: Add test for empty filename 2017-04-27 15:39:49 +02:00
051.out iotests/051: Add test for empty filename 2017-04-27 15:39:49 +02:00
051.pc.out iotests/051: Add test for empty filename 2017-04-27 15:39:49 +02:00
052 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
052.out block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
053 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
053.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
054 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
054.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
055 iotests: 055: Don't attach the target image already for drive-backup 2017-05-11 11:08:40 +02:00
055.out qemu-iotests: test backup compression in 055 2016-09-05 19:06:48 +02:00
056 iotests: Add regresion test case for write notifier assertion failure 2015-12-03 11:08:07 +08:00
056.out iotests: Add regresion test case for write notifier assertion failure 2015-12-03 11:08:07 +08:00
057 block: Accept node-name for blockdev-snapshot-internal-sync 2016-09-05 19:06:47 +02:00
057.out qemu-iotests: add 057 internal snapshot for block device test case 2013-09-12 10:12:47 +02:00
058 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
058.out qemu-iotests: add test for snapshot in qemu-img convert 2013-12-04 15:19:00 +01:00
059 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
059.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
060 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
060.out qcow2: Make distinction between zero cluster types obvious 2017-05-11 14:28:07 +02:00
061 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
061.out block: add support for --image-opts in block I/O tests 2016-05-12 15:33:24 +02:00
062 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
062.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
063 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
063.out add qemu-img convert -n option (skip target volume creation) 2013-09-06 15:25:07 +02:00
064 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
064.out iotests: Lower 064's memory usage 2015-01-23 12:41:32 -05:00
065 qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
065.out qemu-iotests: Additional info from qemu-img info 2013-10-11 16:49:50 +02:00
066 iotests: Extend test 066 2017-05-11 12:08:24 +02:00
066.out iotests: Extend test 066 2017-05-11 12:08:24 +02:00
067 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
067.out qemu-iotests/067: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
068 qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
068.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
069 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
069.out qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() 2016-01-13 15:16:18 +01:00
070 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
070.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
071 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
071.out blkverify: Implement bdrv_co_preadv/pwritev/flush 2017-01-09 13:30:52 +01:00
072 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
072.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
073 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
073.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
074 qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
074.out qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
075 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
075.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
076 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
076.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
077 block/io: optimize bdrv_co_pwritev for small requests 2016-06-07 14:40:51 +01:00
077.out block/io: optimize bdrv_co_pwritev for small requests 2016-06-07 14:40:51 +01:00
078 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
078.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
079 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
079.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
080 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
080.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
081 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
081.out iotests: Correct 081's reference output 2016-03-14 17:35:06 +01:00
082 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
082.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
083 iotests: fix the redirection order in 083 2016-05-12 15:33:23 +02:00
083.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
084 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
084.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
085 iotests: 085: Avoid image locking conflict 2017-05-11 11:08:40 +02:00
085.out iotests: 085: Avoid image locking conflict 2017-05-11 11:08:40 +02:00
086 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
086.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
087 iotests: 087: Don't attach test image twice 2017-05-11 11:08:40 +02:00
087.out qapi: return a 'missing parameter' error 2016-10-07 19:22:11 +02:00
088 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
088.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
089 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
089.out block: ignore flush requests when storage is clean 2016-07-18 18:19:01 -04:00
090 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
090.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
091 iotests: 091: Quit QEMU before checking image 2017-05-11 11:08:40 +02:00
091.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
092 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
092.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
093 qemu-iotests: Test I/O in a single drive from a throttling group 2016-10-24 17:54:03 +02:00
093.out qemu-iotests: Test I/O in a single drive from a throttling group 2016-10-24 17:54:03 +02:00
094 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
094.out iotests: Add test for drive-mirror with NBD target 2015-02-16 14:36:03 +00:00
095 iotests: 095: Clean up QEMU before showing image info 2016-06-16 15:20:37 +02:00
095.out iotests: 095: Filter _img_info output 2016-01-07 21:30:17 +01:00
096 block: Don't return throttling info in query-named-block-nodes 2016-05-19 16:45:31 +02:00
096.out throttle: test that snapshots move the throttling configuration 2015-10-16 15:34:29 +02:00
097 iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
097.out iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
098 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
098.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
099 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
099.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
101 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
101.out qemu-iotests: add test case 101 for short file I/O 2014-08-22 11:01:12 +02:00
102 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
102.out qemu-io: Switch 'map' output to byte-based reporting 2017-05-11 14:28:06 +02:00
103 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
103.out qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() 2016-01-13 15:16:18 +01:00
104 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
104.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
105 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
105.out vmdk: Fix integer overflow in offset calculation 2014-10-03 10:30:33 +01:00
107 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
107.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
108 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
108.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
109 iotests: 109: Filter out "len" of failed jobs 2017-04-27 16:01:11 +02:00
109.out iotests: 109: Filter out "len" of failed jobs 2017-04-27 16:01:11 +02:00
110 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
110.out block/qapi: allow best-effort query 2015-12-18 14:36:17 +01:00
111 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
111.out iotests: Add test for non-existing backing file 2014-11-06 12:45:47 +01:00
112 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
112.out iotests: Extend test 112 for qemu-img amend 2015-12-18 14:34:43 +01:00
113 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
113.out iotests: Add test for unsupported image creation 2014-12-10 10:31:20 +01:00
114 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
114.out qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() 2016-01-13 15:16:18 +01:00
115 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
115.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
116 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
116.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
117 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
117.out iotests: Add test for multiple BB on BDS tree 2016-02-02 17:50:46 +01:00
118 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
118.out iotests: Add test for change-related QMP commands 2015-11-11 16:25:47 +01:00
119 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
119.out iotests: Add tests for overriding BDRV_O_PROTOCOL 2015-06-12 15:54:08 +02:00
120 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
120.out iotests: Add tests for overriding BDRV_O_PROTOCOL 2015-06-12 15:54:08 +02:00
121 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
121.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
122 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
122.out iotests: Improve _filter_qemu_img_map 2017-05-11 14:28:07 +02:00
123 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
123.out iotests: Add test for qemu-img convert to NBD 2015-02-16 15:07:18 +00:00
124 iotests: add transactional failure race test 2016-11-14 22:47:34 -05:00
124.out iotests: add transactional failure race test 2016-11-14 22:47:34 -05:00
128 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
128.out iotests: add O_DIRECT alignment probing test 2015-03-10 14:02:24 +01:00
129 qemu-iotests: Test that "stop" doesn't drain block jobs 2015-04-28 15:36:09 +02:00
129.out qemu-iotests: Test that "stop" doesn't drain block jobs 2015-04-28 15:36:09 +02:00
130 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
130.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
131 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
131.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
132 qemu-iotests: Add test case for mirror with unmap 2015-07-02 10:06:23 +01:00
132.out qemu-iotests: Add test case for mirror with unmap 2015-07-02 10:06:23 +01:00
133 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
133.out qemu-iotests: Test reopen with node-name/driver options 2015-12-18 14:34:43 +01:00
134 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
134.out block: move encryption deprecation warning into qcow code 2016-03-30 12:12:15 +02:00
135 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
135.out block: qemu-iotests - add check for multiplication overflow in vpc 2015-07-27 17:19:07 +02:00
136 qemu-iotests: Fix regression in 136 on aio_read invalid 2016-05-19 16:56:58 +02:00
136.out block: Remove bdrv_aio_multiwrite() 2016-05-19 16:45:31 +02:00
137 qemu-iotests: Test 137 only supports 'file' protocol 2017-02-24 16:09:22 +01:00
137.out block: add support for --image-opts in block I/O tests 2016-05-12 15:33:24 +02:00
138 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
138.out iotests: Add test for checking large image files 2015-09-14 16:51:37 +02:00
139 block: Declare blockdev-add and blockdev-del supported 2017-03-28 15:23:23 +02:00
139.out qemu-iotests/139: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
140 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
140.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
141 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
141.out mirror: Use real permissions in mirror/active commit block job 2017-02-28 20:47:46 +01:00
142 qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
142.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
143 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
143.out nbd: always query export list in fixed new style protocol 2016-02-16 17:16:11 +01:00
144 block: qemu-iotests - add test for snapshot, commit, snapshot bug 2016-02-02 18:07:27 +01:00
144.out block: ignore flush requests when storage is clean 2016-07-18 18:19:01 -04:00
145 qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
145.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
146 block/vpc: add tests for image creation force_size parameter 2016-03-14 16:46:42 +01:00
146.out qemu-io: Switch 'map' output to byte-based reporting 2017-05-11 14:28:06 +02:00
147 nbd: Tidy up blockdev-add interface 2017-04-03 17:11:39 +02:00
147.out iotests: Add test for NBD's blockdev-add interface 2016-10-27 19:05:23 +02:00
148 qemu-iotests: 148: properly skip test if quorum support is missing 2016-04-12 18:07:39 +02:00
148.out iotests: Test QUORUM_REPORT_BAD in fifo mode 2016-03-17 16:43:30 +01:00
149 crypto: fix handling of iv generator hash defaults 2016-07-04 10:46:59 +01:00
149.out crypto: fix handling of iv generator hash defaults 2016-07-04 10:46:59 +01:00
150 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
150.out iotests: Make 150 use qemu-img map instead of du 2016-04-12 18:06:51 +02:00
152 iotests: Test case for drive-mirror with unaligned image size 2016-04-20 16:52:55 +02:00
152.out iotests: Test case for drive-mirror with unaligned image size 2016-04-20 16:52:55 +02:00
153 qemu-iotests: Add test case 153 for image locking 2017-05-11 11:15:32 +02:00
153.out qemu-iotests: Add test case 153 for image locking 2017-05-11 11:15:32 +02:00
154 qcow2: Optimize write zero of unaligned tail cluster 2017-05-11 14:28:07 +02:00
154.out qcow2: Optimize write zero of unaligned tail cluster 2017-05-11 14:28:07 +02:00
155 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
155.out iotests: Add test for post-mirror backing chains 2016-06-16 15:20:37 +02:00
156 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
156.out iotests: Add test for oVirt-like storage migration 2016-06-16 15:20:37 +02:00
157 iotests: Make 157 actually format-agnostic 2016-07-13 13:41:39 +02:00
157.out iotests: Make 157 actually format-agnostic 2016-07-13 13:41:39 +02:00
158 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
158.out qcow2: fix encryption during cow of sectors 2016-09-23 13:36:09 +02:00
159 qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
159.out qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
160 qemu-img: add skip option to dd 2016-09-20 22:10:57 +02:00
160.out qemu-img: add skip option to dd 2016-09-20 22:10:57 +02:00
162 iotests: Skip test 162 if there is no SSH support 2016-11-11 15:56:22 +01:00
162.out iotests: Do not rely on unavailable domains in 162 2016-10-24 17:54:03 +02:00
170 qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
170.out qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
171 qemu-iotests: test 'offset' and 'size' options in raw driver 2016-10-31 16:52:39 +01:00
171.out qemu-iotests: test 'offset' and 'size' options in raw driver 2016-10-31 16:52:39 +01:00
172 iotests: 172: Use separate images for multiple devices 2017-05-11 11:08:40 +02:00
172.out iotests: 172: Use separate images for multiple devices 2017-05-11 11:08:40 +02:00
173 qemu-iotest: test to lookup protocol-based image with relative backing 2017-02-12 00:47:42 +01:00
173.out qemu-iotest: test to lookup protocol-based image with relative backing 2017-02-12 00:47:42 +01:00
174 qemu-io: Add failure regression tests 2017-02-12 00:47:42 +01:00
174.out qemu-io: Add failure regression tests 2017-02-12 00:47:42 +01:00
175 qemu-img: Add tests for raw image preallocation 2017-02-24 16:09:22 +01:00
175.out qemu-img: Add tests for raw image preallocation 2017-02-24 16:09:22 +01:00
176 iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
176.out iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
177 tests: Add coverage for recent block geometry fixes 2017-05-11 14:28:06 +02:00
177.out tests: Add coverage for recent block geometry fixes 2017-05-11 14:28:06 +02:00
179 iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
179.out iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
181 qemu-iotests: Test postcopy migration 2017-04-27 15:39:49 +02:00
181.out qemu-iotests: Test postcopy migration 2017-04-27 15:39:49 +02:00
182 tests: Add POSIX image locking test case 182 2017-05-11 12:08:20 +02:00
182.out tests: Add POSIX image locking test case 182 2017-05-11 12:08:20 +02:00
check iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
common iotests: fix exclusion option 2017-04-28 18:40:41 +02:00
common.config qemu_iotests: Remove _readlink() 2017-04-27 15:39:50 +02:00
common.filter iotests: Improve _filter_qemu_img_map 2017-05-11 14:28:07 +02:00
common.pattern qemu-io: Switch 'alloc' command to byte-based length 2017-05-11 14:28:05 +02:00
common.qemu qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
common.rc iotests: Launch qemu-nbd with -e 42 2017-04-27 15:39:50 +02:00
COPYING
group iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
iotests.py iotests: Add mirror tests for orphaned source 2017-04-07 14:44:06 +02:00
Makefile iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
nbd-fault-injector.py tests: add nbd-fault-injector.py utility 2014-03-14 16:28:28 +01:00
qcow2.py qcow2.py: Add required padding for header extensions 2014-12-10 10:31:13 +01:00
qed.py tests: Use Python 2.6 "except E as ..." syntax 2016-02-08 17:29:54 +01:00
README doc: Fix mailing list address in tests/qemu-iotests/README 2016-06-16 15:19:55 +02:00
socket_scm_helper.c socket_scm_helper: Accept fd directly 2016-10-27 19:05:23 +02: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@nongnu.org with a CC:
to qemu-block@nongnu.org.