qemu/tests/qemu-iotests
Kevin Wolf 44b6789299 blkverify: Implement bdrv_co_preadv/pwritev/flush
This enables byte granularity requests for blkverify, and at the same
time gets us rid of another user of the BDS-level AIO emulation.

The reference output of a test case must be changed because the
verification failure message reports byte offsets instead of sectors
now.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
2017-01-09 13:30:52 +01:00
..
sample_images block/vpc: tests for auto-detecting VPC and Hyper-V VHD images 2016-03-14 16:46:42 +01:00
.gitignore
001 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
001.out
002 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
002.out
003 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
003.out
004 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
004.out
005 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
005.out
007 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
007.out
008 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
008.out
009 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
009.out
010 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
010.out
011 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
011.out
012 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
012.out
013 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
013.out
014 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
014.out
015 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
015.out
017 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
017.out
018 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
018.out
019 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
019.out
020 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
020.out
021 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
021.out
022 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
022.out
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
025 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
025.out
026 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
026.out block: Don't mark node clean after failed flush 2016-11-08 16:06:35 +00:00
026.out.nocache block: Don't mark node clean after failed flush 2016-11-08 16:06:35 +00:00
027 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
027.out
028 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
028.out qemu-iotests: Reduce racy output in 028 2016-01-20 13:36:23 +01:00
029 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
029.out
030 qemu-iotests: Test the 'base-node' parameter of 'block-stream' 2016-10-31 16:52:39 +01: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
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
035 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
035.out
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
038 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
038.out
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
040.out
041 qemu-iotests: Add iotests.supports_quorum() 2016-10-31 16:52:39 +01:00
041.out iotests: add small-granularity mirror test 2016-06-28 22:53:03 -04:00
042 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
042.out
043 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
043.out
044
044.out
045
045.out
046 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
046.out
047 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
047.out
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 block: move encryption deprecation warning into qcow code 2016-03-30 12:12:15 +02:00
050 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
050.out
051 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
051.out block/nbd: Accept SocketAddress 2016-10-27 19:05:23 +02:00
051.pc.out block/nbd: Accept SocketAddress 2016-10-27 19:05:23 +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
054 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
054.out
055 iotest 055: refactor and speed up 2016-09-20 22:12:57 +02:00
055.out qemu-iotests: test backup compression in 055 2016-09-05 19:06:48 +02:00
056
056.out
057 block: Accept node-name for blockdev-snapshot-internal-sync 2016-09-05 19:06:47 +02:00
057.out
058 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
058.out
059 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
059.out iotests: Add "qemu-img map" test for VMDK extents 2016-02-02 17:50:48 +01:00
060 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
060.out
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
063 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
063.out
064 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
064.out
065
065.out
066 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
066.out
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: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
068.out
069 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
069.out
070 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
070.out vhdx: Fix "log that needs to be replayed" error message 2016-01-13 15:16:18 +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
073 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
073.out
074
074.out
075 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
075.out
076 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
076.out
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
079 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
079.out
080 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
080.out
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
083 iotests: fix the redirection order in 083 2016-05-12 15:33:23 +02:00
083.out iotests: Make _filter_nbd drop log lines 2016-02-02 17:49:42 +01:00
084 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
084.out
085 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
085.out block: Avoid printing NULL string in error messages 2016-09-23 13:45:36 +02:00
086 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
086.out
087 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +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
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
091
091.out
092 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
092.out
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: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
094.out
095 iotests: 095: Clean up QEMU before showing image info 2016-06-16 15:20:37 +02:00
095.out
096 block: Don't return throttling info in query-named-block-nodes 2016-05-19 16:45:31 +02:00
096.out
097 qcow2: Don't strand clusters near 2G intervals during commit 2016-12-06 15:37:02 +01:00
097.out qcow2: Don't strand clusters near 2G intervals during commit 2016-12-06 15:37:02 +01:00
098 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
098.out
099 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
099.out
101 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
101.out
102 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
102.out
103 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
103.out
104 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
104.out
105 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
105.out
107 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
107.out
108 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
108.out
109 qemu-iotests: avoid spurious failure on test 109 2016-11-14 22:47:34 -05:00
109.out iotests: fix 109 2016-08-08 13:05:43 +02:00
110 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
110.out
111 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
111.out
112 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
112.out
113 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
113.out
114 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
114.out
115 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
115.out
116 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
116.out
117 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02: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
119 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
119.out
120 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
120.out
121 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
121.out
122 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
122.out qemu-img: Fix preallocation with -S 0 for convert 2016-03-30 12:16:03 +02:00
123 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
123.out
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
129
129.out
130 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
130.out
131 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
131.out
132
132.out
133 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
133.out
134 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02: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
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: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02: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
139 qemu-iotests: Add iotests.supports_quorum() 2016-10-31 16:52:39 +01:00
139.out qemu-iotests/139: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
140 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
140.out qemu-iotests: 140: don't use IDE device 2016-02-22 16:54:14 +01:00
141 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
141.out qemu-iotests/141: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
142 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
142.out block: Remove BDRV_O_CACHE_WB 2016-03-30 12:16:03 +02:00
143 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02: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: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
145.out block: Fix -incoming with snapshot=on 2016-02-22 09:49:46 +01:00
146 block/vpc: add tests for image creation force_size parameter 2016-03-14 16:46:42 +01:00
146.out block/vpc: add tests for image creation force_size parameter 2016-03-14 16:46:42 +01:00
147 iotests: Add test for NBD's blockdev-add interface 2016-10-27 19:05:23 +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
154 block: Switch bdrv_write_zeroes() to byte interface 2016-06-08 10:21:08 +02:00
154.out qcow2: Catch more unaligned write_zero into zero cluster 2016-06-08 10:21:08 +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 iotests: Add test for oVirt-like storage migration 2016-06-16 15:20:37 +02: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 qcow2: fix encryption during cow of sectors 2016-09-23 13:36:09 +02: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 qemu-iotests: Test creating floppy drives 2016-10-27 16:29:14 -04:00
172.out qemu-iotests: Test creating floppy drives 2016-10-27 16:29:14 -04:00
check qemu-iotests: check: don't place files with predictable names in /tmp 2016-04-12 18:07:39 +02:00
common iotests: Always use -machine accel=qtest 2016-11-11 15:56:22 +01:00
common.config block: add support for encryption secrets in block I/O tests 2016-05-12 15:33:24 +02:00
common.filter qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
common.pattern
common.qemu iotests: Always use -machine accel=qtest 2016-11-11 15:56:22 +01:00
common.rc qemu-iotests: Fix typo for NFS with IMGOPTSSYNTAX 2016-10-27 19:05:23 +02:00
COPYING
group qemu-iotests: test 'offset' and 'size' options in raw driver 2016-10-31 16:52:39 +01:00
iotests.py qemu-iotests: Add iotests.supports_quorum() 2016-10-31 16:52:39 +01:00
Makefile
nbd-fault-injector.py
qcow2.py
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.