qemu-patch-raspberry4/tests/qemu-iotests
Peter Lieven 8dcd3c9b91 qemu-img: align result of is_allocated_sectors
We currently don't enforce that the sparse segments we detect during convert are
aligned. This leads to unnecessary and costly read-modify-write cycles either
internally in Qemu or in the background on the storage device as nearly all
modern filesystems or hardware have a 4k alignment internally.

This patch modifies is_allocated_sectors so that its *pnum result will always
end at an alignment boundary. This way all requests will end at an alignment
boundary. The start of all requests will also be aligned as long as the results
of get_block_status do not lead to an unaligned offset.

The number of RMW cycles when converting an example image [1] to a raw device that
has 4k sector size is about 4600 4k read requests to perform a total of about 15000
write requests. With this path the additional 4600 read requests are eliminated while
the number of total write requests stays constant.

[1] https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.vmdk

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2018-07-12 18:24:08 +02:00
..
sample_images iotests: Fix CID for VMDK afl image 2018-02-13 12:27:17 +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 iotests: Fix 020 for vmdk 2018-01-23 12:34:43 +01:00
020.out iotests: Fix 020 for vmdk 2018-01-23 12:34:43 +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 iotests: Add test for rebasing with relative paths 2018-06-11 16:18:45 +02:00
024.out iotests: Add test for rebasing with relative paths 2018-06-11 16:18:45 +02:00
025 qemu-iotests: Enable 025 for luks 2018-03-26 12:17:40 +02:00
025.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
026 qemu-iotests: Test qcow2 not leaking clusters on write error 2018-06-29 14:20:56 +02:00
026.out qemu-iotests: Test qcow2 not leaking clusters on write error 2018-06-29 14:20:56 +02:00
026.out.nocache qemu-iotests: Test qcow2 not leaking clusters on write error 2018-06-29 14:20:56 +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-img: Remove deprecated -s snapshot_id_or_name option 2018-06-11 16:18:45 +02:00
029.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
030 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
030.out iotests: Tweak 030 in order to trigger a race condition with parallel jobs 2018-03-09 15:40:07 +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 iotests: Fix stuck NBD process on 33 2018-03-13 15:38:55 -05:00
033.out iotest 033: add misaligned write-zeroes test via truncate 2018-03-02 18:39:07 +01: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 qemu-iotests: limit non-_PROG-suffixed variables to common.rc 2017-10-06 16:28:58 +02:00
040 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
040.out block: Skip implicit nodes in query-block/blockstats 2017-07-24 15:06:04 +02:00
041 iotests: Move qmp_to_opts() to VM 2018-05-23 14:30:51 +02:00
041.out block: Skip implicit nodes in query-block/blockstats 2017-07-24 15:06:04 +02:00
042 iotests: skip 042 with qcow which dosn't support zero sized images 2017-07-11 17:44:55 +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 block/qcow2: Add qcow2_refcount_area() 2017-07-11 17:45:02 +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 iotests: skip 048 with qcow which doesn't support resize 2017-07-11 17:44:55 +02:00
048.out block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
049 qcow2: convert QCow2 to use QCryptoBlock for encryption 2017-07-11 17:44:56 +02:00
049.out qcow2: Use visitor for options in qcow2_create() 2018-03-09 15:17:47 +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 block: Don't silently truncate node names 2018-07-05 10:29:19 +02:00
051.out block: Don't silently truncate node names 2018-07-05 10:29:19 +02:00
051.pc.out block: Don't silently truncate node names 2018-07-05 10:29:19 +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: add pause_wait 2018-03-19 12:01:24 +01:00
055.out qemu-iotests: test backup compression in 055 2016-09-05 19:06:48 +02:00
056 iotests: test manual job dismissal 2018-03-19 12:01:24 +01:00
056.out iotests: test manual job dismissal 2018-03-19 12:01:24 +01: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 nbd-client: Refuse read-only client with BDRV_O_RDWR 2017-11-09 10:10:17 -06:00
058.out qemu-iotests: add test for snapshot in qemu-img convert 2013-12-04 15:19:00 +01:00
059 iotests: Skip test for ENOMEM error 2018-03-09 15:40:07 +01:00
059.out iotests: Fix CID for VMDK afl image 2018-02-13 12:27:17 +01:00
060 tests: iotests: drop some stderr line 2018-06-30 17:50:48 +02:00
060.out tests: iotests: drop some stderr line 2018-06-30 17:50:48 +02:00
061 iotests: Test downgrading an image using a small L2 slice size 2018-02-13 17:00:00 +01:00
061.out block: Add Error parameter to bdrv_amend_options 2018-06-11 16:18:45 +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 qcow2: Fix src_offset in copy offloading 2018-06-29 14:20:56 +02:00
063.out qcow2: Fix src_offset in copy offloading 2018-06-29 14:20:56 +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 iotests: Fix 067 for compat=0.10 2018-01-23 12:34:43 +01:00
067.out iotests: Fix 067 for compat=0.10 2018-01-23 12:34:43 +01:00
068 snapshot/tests: Try loadvm twice 2017-09-06 15:19:01 +01:00
068.out snapshot/tests: Try loadvm twice 2017-09-06 15:19:01 +01: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: Remove blkdebug.conf after tests 2017-08-01 18:09:33 +02:00
074.out qemu-img: Drop redundant error message in compare 2017-10-26 14:45:57 +02:00
075 iotests: fix 075 and 078 2017-11-27 11:25:41 +01: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 iotests: 077: Filter out 'resume' lines 2017-11-14 18:06:25 +01:00
077.out iotests: 077: Filter out 'resume' lines 2017-11-14 18:06:25 +01:00
078 iotests: fix 075 and 078 2017-11-27 11:25:41 +01: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-img: Remove deprecated -s snapshot_id_or_name option 2018-06-11 16:18:45 +02:00
080.out block: Add Error parameter to bdrv_amend_options 2018-06-11 16:18:45 +02: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 iotests: Test help option for unsupporting formats 2018-06-11 16:18:45 +02:00
082.out iotests: Test help option for unsupporting formats 2018-06-11 16:18:45 +02:00
083 iotests: Make 083 less flaky 2017-11-14 18:06:25 +01:00
083.out nbd: Minimal structured read for client 2017-10-30 21:48:41 +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 block: Use JSON null instead of "" to disable backing file 2017-07-24 13:35:11 +02:00
085.out block: deprecate "encryption=on" in favor of "encrypt.format=aes" 2017-07-11 17:44:55 +02:00
086 qemu-iotests: 086 doesn't work with NFS 2018-05-23 13:29:06 +02:00
086.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
087 iotests: Make 087 pass without AIO enabled 2017-11-17 18:21:31 +01:00
087.out qcow2: add iotests to cover LUKS encryption support 2017-07-11 17:44:56 +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 block: Handle null backing link 2018-03-19 14:58:36 -05:00
089.out block: Handle null backing link 2018-03-19 14:58:36 -05: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 python: futurize -f lib2to3.fixes.fix_has_key 2018-06-08 14:39:24 -03:00
093.out qemu-iotests: Test I/O limits with removable media 2017-11-13 15:46:26 +00:00
094 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
094.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
095 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
095.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
096 python: futurize -f lib2to3.fixes.fix_has_key 2018-06-08 14:39:24 -03: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: Fix locking issue in 102 2018-01-23 12:34:42 +01:00
102.out qemu-iotests: Fix locking issue in 102 2018-01-23 12:34:42 +01:00
103 iotests: Test valid values of l2-cache-entry-size 2018-02-13 17:00:00 +01:00
103.out iotests: Test valid values of l2-cache-entry-size 2018-02-13 17:00:00 +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
106 iotests: Test preallocated truncate of 2G image 2018-04-03 17:39:37 +02:00
106.out iotests: Test preallocated truncate of 2G image 2018-04-03 17:39:37 +02: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 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
109.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +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 qemu-img: Check for backing image if specified during create 2017-07-18 15:27:37 +02:00
112 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
112.out block: Add Error parameter to bdrv_amend_options 2018-06-11 16:18:45 +02:00
113 iotests: Rework 113 2018-06-11 16:18:45 +02:00
113.out iotests: Rework 113 2018-06-11 16:18:45 +02:00
114 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
114.out qemu-io: Don't die on second open 2017-07-10 13:18:05 +02: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 python: futurize -f lib2to3.fixes.fix_numliterals 2018-06-08 14:39:24 -03: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 iotests: fix remainining tests to work with LUKS 2017-07-11 17:44:59 +02:00
120.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
121 qcow2: Reset free_cluster_index when allocating a new refcount block 2018-03-26 12:16:00 +02:00
121.out qcow2: Reset free_cluster_index when allocating a new refcount block 2018-03-26 12:16:00 +02:00
122 iotests: Test post-backing convert target behavior 2018-06-11 16:18:45 +02:00
122.out qemu-img: align result of is_allocated_sectors 2018-07-12 18:24:08 +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 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
124.out iotests: add transactional failure race test 2016-11-14 22:47:34 -05:00
125 iotests: Add cluster_size=64k to 125 2017-10-26 15:01:14 +02:00
125.out iotests: Add cluster_size=64k to 125 2017-10-26 15:01:14 +02:00
126 iotests: Add test for colon handling 2017-07-11 17:45:00 +02:00
126.out qemu-iotests: Filter NFS paths 2018-05-23 13:29:03 +02:00
127 iotests: Add test for dataplane mirroring 2017-10-26 15:01:13 +02:00
127.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02: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 iotests: Mark all tests executable 2018-03-09 15:40:07 +01:00
129.out qemu-iotests: Test that "stop" doesn't drain block jobs 2015-04-28 15:36:09 +02:00
130 iotests: Disable some tests for compat=0.10 2018-01-23 12:34:43 +01: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 iotests: Mark all tests executable 2018-03-09 15:40:07 +01:00
132.out qemu-iotests: Add test case for mirror with unmap 2015-07-02 10:06:23 +01:00
133 iotests: Add test for non-string option reopening 2017-11-17 18:21:30 +01:00
133.out iotests: Add test for non-string option reopening 2017-11-17 18:21:30 +01:00
134 iotests: enable tests 134 and 158 to work with qcow (v1) 2017-07-11 17:44:56 +02:00
134.out qcow2: convert QCow2 to use QCryptoBlock for encryption 2017-07-11 17:44:56 +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 python: futurize -f lib2to3.fixes.fix_has_key 2018-06-08 14:39:24 -03:00
136.out block: Remove bdrv_aio_multiwrite() 2016-05-19 16:45:31 +02:00
137 iotests: Add l2-cache-entry-size to iotest 137 2018-02-13 17:00:00 +01:00
137.out qcow2: Give the refcount cache the minimum possible size by default 2018-05-15 16:15:21 +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 iotests: Mark all tests executable 2018-03-09 15:40:07 +01:00
139.out qemu-iotests/139: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
140 nbd-client: Refuse read-only client with BDRV_O_RDWR 2017-11-09 10:10:17 -06:00
140.out nbd: Fix iotests failure due to changed client error message 2017-07-17 13:57:42 -05:00
141 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
141.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
142 tests: Avoid non-portable 'echo -ARG' 2017-07-11 17:45:00 +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: Fix iotests failure due to changed client error message 2017-07-17 13:57:42 -05:00
144 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
144.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
145 iotests: fix remainining tests to work with LUKS 2017-07-11 17:44:59 +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 block: fix iotest 146 output expectations 2018-03-19 12:01:39 +01:00
147 iotest 147: add cases to test new @name parameter of nbd-server-add 2018-01-26 09:37:21 -06:00
147.out iotest 147: add cases to test new @name parameter of nbd-server-add 2018-01-26 09:37:21 -06:00
148 iotests: Mark all tests executable 2018-03-09 15:40:07 +01:00
148.out iotests: Test QUORUM_REPORT_BAD in fifo mode 2016-03-17 16:43:30 +01:00
149 python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
149.out iotests: chown LUKS device before qemu-io launches 2017-07-11 17:45:00 +02: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
151 iotests: Add test for active mirroring 2018-06-18 17:05:17 +02:00
151.out iotests: Add test for active mirroring 2018-06-18 17:05:17 +02:00
152 iotests: Mark all tests executable 2018-03-09 15:40:07 +01:00
152.out iotests: Test case for drive-mirror with unaligned image size 2016-04-20 16:52:55 +02:00
153 iotests: 153: Fix dead code 2018-07-12 18:24:08 +02:00
153.out iotests: 153: Fix dead code 2018-07-12 18:24:08 +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 iotests: Move qmp_to_opts() to VM 2018-05-23 14:30:51 +02:00
155.out iotests: Add test for post-mirror backing chains 2016-06-16 15:20:37 +02:00
156 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
156.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
157 iotests: fix remainining tests to work with LUKS 2017-07-11 17:44:59 +02:00
157.out iotests: fix remainining tests to work with LUKS 2017-07-11 17:44:59 +02:00
158 qemu-img: Check for backing image if specified during create 2017-07-18 15:27:37 +02:00
158.out qcow2: convert QCow2 to use QCryptoBlock for encryption 2017-07-11 17:44:56 +02:00
159 iotests: skip 159 & 170 with luks format 2017-07-11 17:44:59 +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 qemu-iotests/162: Fix leaked temporary files 2017-08-01 18:09:33 +02:00
162.out iotests: Do not rely on unavailable domains in 162 2016-10-24 17:54:03 +02:00
163 iotests: Mark all tests executable 2018-03-09 15:40:07 +01:00
163.out qemu-iotests: add shrinking image test 2017-09-26 15:00:32 +02:00
165 python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
165.out iotests: test qcow2 persistent dirty bitmap 2017-07-11 17:44:59 +02:00
169 iotests: fix 169 2018-04-16 13:35:32 +02:00
169.out iotests: enable shared migration cases in 169 2018-03-26 21:17:24 +02:00
170 iotests: skip 159 & 170 with luks format 2017-07-11 17:44:59 +02:00
170.out qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
171 tests: Avoid non-portable 'echo -ARG' 2017-07-11 17:45:00 +02:00
171.out qemu-iotests: test 'offset' and 'size' options in raw driver 2016-10-31 16:52:39 +01:00
172 qemu-iotests: Add missing -machine accel=qtest 2017-09-26 14:46:23 +02:00
172.out hw/block/fdc: Convert to realize 2017-09-18 19:43:38 -04: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 iotests: fix remainining tests to work with LUKS 2017-07-11 17:44:59 +02: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 block: maintain persistent disabled bitmaps 2018-02-13 16:59:58 +01:00
176.out iotests: Fix 176 on 32-bit host 2017-11-21 14:54:02 +01:00
177 iotests: Split 177 into two parts for compat=0.10 2018-01-23 12:34:43 +01:00
177.out iotests: Split 177 into two parts for compat=0.10 2018-01-23 12:34:43 +01:00
178 iotests: add test 178 for qemu-img measure 2017-07-11 17:45:01 +02:00
178.out.qcow2 iotests: add test 178 for qemu-img measure 2017-07-11 17:45:01 +02:00
178.out.raw iotests: add test 178 for qemu-img measure 2017-07-11 17:45:01 +02:00
179 qemu-iotests: Remove blkdebug.conf after tests 2017-08-01 18:09:33 +02:00
179.out iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
181 iotests: Skip 181 and 201 without userfaultfd 2018-05-15 16:15:21 +02:00
181.out iotests: fix 181: enable postcopy-ram capability on target 2017-09-26 14:46:23 +02:00
182 qemu-iotests: Use -nographic in 182 2017-11-17 13:35:59 +01:00
182.out tests: Add POSIX image locking test case 182 2017-05-11 12:08:20 +02:00
183 qemu-iotests: Remove _supported_fmt dmg 2018-04-10 16:33:43 +02:00
183.out qemu-iotests: Block migration test 2017-06-09 11:45:03 +02:00
184 iotests: Make 184 image-less 2018-01-23 12:34:43 +01:00
184.out iotests: Make 184 image-less 2018-01-23 12:34:43 +01:00
185 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
185.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
186 iotests: Update 186 after commit ac64273c66 2018-04-03 16:58:48 +02:00
186.out iotests: Update 186 after commit ac64273c66 2018-04-03 16:58:48 +02:00
187 qemu-iotests: Test reopen between read-only and read-write 2017-08-08 15:19:16 +02:00
187.out qemu-io: Drop write permissions before read-only reopen 2017-09-26 14:46:23 +02:00
188 qcow2: add iotests to cover LUKS encryption support 2017-07-11 17:44:56 +02:00
188.out qcow2: add iotests to cover LUKS encryption support 2017-07-11 17:44:56 +02:00
189 qemu-img: Check for backing image if specified during create 2017-07-18 15:27:37 +02:00
189.out qcow2: add iotests to cover LUKS encryption support 2017-07-11 17:44:56 +02:00
190 iotests: Add test of recent fix to 'qemu-img measure' 2017-08-01 18:09:33 +02:00
190.out iotests: Add test of recent fix to 'qemu-img measure' 2017-08-01 18:09:33 +02:00
191 job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
191.out job: Add JOB_STATUS_CHANGE QMP event 2018-05-23 14:30:51 +02:00
192 iotests: rewrite 192 to use _launch_qemu to fix LUKS support 2017-09-05 14:17:26 -05:00
192.out iotests: Add non-shared storage migration case 192 2017-08-15 10:03:28 -05:00
194 qemu-iotests: Remove _supported_fmt dmg 2018-04-10 16:33:43 +02:00
194.out qemu-iotests: Extend non-shared storage migration test (194) 2017-08-30 13:00:37 -05:00
195 iotests: Fix 195 if IMGFMT is part of TEST_DIR 2017-10-06 16:30:47 +02:00
195.out qemu-iotests: Test change-backing-file command 2017-09-26 14:46:23 +02:00
196 iotests: test clearing unknown autoclear_features by qcow2 2017-11-17 18:06:21 +01:00
196.out iotests: test clearing unknown autoclear_features by qcow2 2017-11-17 18:06:21 +01:00
197 block: Fix copy-on-read crash with partial final cluster 2018-07-10 10:36:15 +02:00
197.out block: Fix copy-on-read crash with partial final cluster 2018-07-10 10:36:15 +02:00
198 iotests: Filter compat-dependent info in 198 2018-01-23 12:34:43 +01:00
198.out iotests: Filter compat-dependent info in 198 2018-01-23 12:34:43 +01:00
199 iotests: add dirty bitmap postcopy test 2018-03-13 17:06:32 -04:00
199.out iotests: add dirty bitmap postcopy test 2018-03-13 17:06:32 -04:00
200 iotests: Make 200 run on tmpfs 2018-01-31 22:37:00 -05:00
200.out qemu-iotest: add test for blockjob coroutine race condition 2017-11-21 11:58:12 -05:00
201 iotests: Skip 181 and 201 without userfaultfd 2018-05-15 16:15:21 +02:00
201.out tests/qemu-iotests: adding savevm/loadvm with postcopy flag test 2018-01-23 12:33:07 +01:00
202 qemu-iotests: add 202 external snapshots IOThread test 2017-12-19 10:25:09 +00:00
202.out qemu-iotests: add 202 external snapshots IOThread test 2017-12-19 10:25:09 +00:00
203 qemu-iotests: fix 203 migration completion race 2018-03-09 15:40:07 +01:00
203.out qemu-iotests: fix 203 migration completion race 2018-03-09 15:40:07 +01:00
204 iotests: Split 177 into two parts for compat=0.10 2018-01-23 12:34:43 +01:00
204.out iotests: Split 177 into two parts for compat=0.10 2018-01-23 12:34:43 +01:00
205 iotests: blacklist bochs and cloop for 205 and 208 2018-04-10 16:33:08 +02:00
205.out iotest 205: new test for qmp nbd-server-remove 2018-01-26 09:37:21 -06:00
206 block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
206.out block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
207 block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
207.out block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
208 iotests: blacklist bochs and cloop for 205 and 208 2018-04-10 16:33:08 +02:00
208.out iotests: add 208 nbd-server + blockdev-snapshot-sync test case 2018-03-13 15:38:55 -05:00
209 iotests: new test 209 for NBD BLOCK_STATUS 2018-03-13 15:44:09 -05:00
209.out iotests: new test 209 for NBD BLOCK_STATUS 2018-03-13 15:44:09 -05:00
210 block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
210.out block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
211 block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
211.out block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
212 block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
212.out block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
213 block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
213.out block/create: Mark blockdev-create stable 2018-05-30 13:31:18 +02:00
214 iotests: Split 214 off of 122 2018-05-15 16:15:21 +02:00
214.out iotests: Split 214 off of 122 2018-05-15 16:15:21 +02:00
215 iotests: Copy 197 for COR filter driver 2018-05-15 16:15:21 +02:00
215.out iotests: Copy 197 for COR filter driver 2018-05-15 16:15:21 +02:00
216 iotests: Let 216 make use of qemu-io's exit code 2018-06-11 16:18:45 +02:00
216.out iotests: Let 216 make use of qemu-io's exit code 2018-06-11 16:18:45 +02:00
217 iotests: Repairing error during snapshot deletion 2018-06-11 16:18:45 +02:00
217.out iotests: Repairing error during snapshot deletion 2018-06-11 16:18:45 +02:00
218 iotests: Add test for cancelling a mirror job 2018-05-08 10:47:27 -04:00
218.out iotests: Add test for cancelling a mirror job 2018-05-08 10:47:27 -04:00
219 iotests: Fix 219's timing 2018-06-11 16:18:45 +02:00
219.out iotests: Fix 219's timing 2018-06-11 16:18:45 +02:00
221 iotests: Add test 221 to catch qemu-img map regression 2018-06-15 14:49:44 +02:00
221.out iotests: Add test 221 to catch qemu-img map regression 2018-06-15 14:49:44 +02:00
222 iotests: 222: Don't run with luks 2018-07-10 11:55:11 +02:00
222.out iotests: add 222 to test basic fleecing 2018-07-02 15:24:07 -05:00
223 iotests: New test 223 for exporting dirty bitmap over NBD 2018-07-02 19:50:37 -05:00
223.out iotests: New test 223 for exporting dirty bitmap over NBD 2018-07-02 19:50:37 -05:00
225 iotests: Add VMDK backing file correlation test 2018-07-09 19:43:24 +02:00
225.out iotests: Add VMDK backing file correlation test 2018-07-09 19:43:24 +02:00
226 iotests: add test 226 for file driver types 2018-07-12 18:24:08 +02:00
226.out iotests: add test 226 for file driver types 2018-07-12 18:24:08 +02:00
check qemu-iotests: Use ppc64 qemu_arch on ppc64le host 2018-04-03 17:39:37 +02:00
common.config qemu-iotests: Use ppc64 qemu_arch on ppc64le host 2018-04-03 17:39:37 +02:00
common.filter main-loop: drop spin_counter 2018-06-01 16:01:29 +01:00
common.pattern qemu-io: Switch 'alloc' command to byte-based length 2017-05-11 14:28:05 +02:00
common.qemu iotests: Add failure matching to common.qemu 2018-05-15 16:15:21 +02:00
common.rc iotests: nbd: Stop qemu-nbd before remaking image 2018-07-12 18:24:08 +02:00
COPYING qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
group iotests: add test 226 for file driver types 2018-07-12 18:24:08 +02:00
iotests.py Python queue, 2018-06-11 2018-06-12 11:56:21 +01:00
Makefile iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
nbd-fault-injector.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
qcow2.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
qed.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03: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.