qemu/tests/qemu-iotests
Eric Blake c61e684e44 block: Exploit BDRV_BLOCK_EOF for larger zero blocks
When we have a BDS with unallocated clusters, but asking the status
of its underlying bs->file or backing layer encounters an end-of-file
condition, we know that the rest of the unallocated area will read as
zeroes.  However, pre-patch, this required two separate calls to
bdrv_get_block_status(), as the first call stops at the point where
the underlying file ends.  Thanks to BDRV_BLOCK_EOF, we can now widen
the results of the primary status if the secondary status already
includes BDRV_BLOCK_ZERO.

In turn, this fixes a TODO mentioned in iotest 154, where we can now
see that all sectors in a partial cluster at the end of a file read
as zero when coupling the shorter backing file's status along with our
knowledge that the remaining sectors came from an unallocated cluster.

Also, note that the loop in bdrv_co_get_block_status_above() had an
inefficent exit: in cases where the active layer sets BDRV_BLOCK_ZERO
but does NOT set BDRV_BLOCK_ALLOCATED (namely, where we know we read
zeroes merely because our unallocated clusters lie beyond the backing
file's shorter length), we still ended up probing the backing layer
even though we already had a good answer.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170505021500.19315-3-eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
2017-06-30 21:48:06 +08: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 qemu-iotests: Test streaming with missing job ID 2017-05-26 16:48:21 +02:00
030.out qemu-iotests: Test streaming with missing job ID 2017-05-26 16:48:21 +02: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 automatic commit job cancel on hot unplug 2017-06-09 13:46:20 +02:00
040.out qemu-iotests: Test automatic commit job cancel on hot unplug 2017-06-09 13:46:20 +02: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 block: Tweak error message related to qemu-img amend 2017-05-29 15:39:54 +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: 068: test iothread mode 2017-06-26 14:51:13 +02:00
068.out qemu-iotests: 068: test iothread mode 2017-06-26 14:51:13 +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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02: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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02: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 nbd/client.c: use errp instead of LOG 2017-06-06 20:18:36 +02: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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02: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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02: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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
120 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
120.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02: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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02: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 iotests: 147: Don't test inet6 if not available 2017-05-26 16:48:21 +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 block: Exploit BDRV_BLOCK_EOF for larger zero blocks 2017-06-30 21:48:06 +08:00
154.out block: Exploit BDRV_BLOCK_EOF for larger zero blocks 2017-06-30 21:48:06 +08: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 shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +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
183 qemu-iotests: Block migration test 2017-06-09 11:45:03 +02:00
183.out qemu-iotests: Block migration test 2017-06-09 11:45:03 +02:00
185 qemu-iotests: Test exiting qemu with running job 2017-06-26 14:51:13 +02:00
185.out qemu-iotests: Test exiting qemu with running job 2017-06-26 14:51:13 +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: Allow starting new qemu after cleanup 2017-06-26 14:51:12 +02:00
common.rc iotests: Launch qemu-nbd with -e 42 2017-04-27 15:39:50 +02:00
COPYING qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
group qemu-iotests: Test exiting qemu with running job 2017-06-26 14:51:13 +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.