qemu-e2k/tests/qemu-iotests
Kevin Wolf 5dbd0ce115 file-posix: Fix alignment after reopen changing O_DIRECT
At the end of a reopen, we already call bdrv_refresh_limits(), which
should update bs->request_alignment according to the new file
descriptor. However, raw_probe_alignment() relies on s->needs_alignment
and just uses 1 if it isn't set. We neglected to update this field, so
starting with cache=writeback and then reopening with cache=none means
that we get an incorrect bs->request_alignment == 1 and unaligned
requests fail instead of being automatically aligned.

Fix this by recalculating s->needs_alignment in raw_refresh_limits()
before calling raw_probe_alignment().

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20211104113109.56336-1-kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20211115145409.176785-13-kwolf@redhat.com>
[hreitz: Fix iotest 142 for block sizes greater than 512 by operating on
         a file with a size of 1 MB]
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20211116101431.105252-1-hreitz@redhat.com>
2021-11-16 11:30:29 +01:00
..
sample_images iotests: add parallels-read-bitmap test 2021-03-08 14:56:55 +01:00
tests pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +01:00
001
001.out
002
002.out
003
003.out
004
004.out
005 block: Drop the sheepdog block driver 2021-05-12 17:42:23 +02:00
005.out
007
007.out
008
008.out
009
009.out
010
010.out
011
011.out
012
012.out
013
013.out
014
014.out
015
015.out
017
017.out
018
018.out
019
019.out
020
020.out
021
021.out
022
022.out
023
023.out
024
024.out
025 block: Drop the sheepdog block driver 2021-05-12 17:42:23 +02:00
025.out
026
026.out
026.out.nocache
027
027.out
028
028.out
029
029.out
030 iotests/030: Unthrottle parallel jobs in reverse 2021-11-16 09:43:48 +01:00
030.out
031
031.out
032
032.out
033
033.out
034
034.out
035
035.out
036
036.out
037
037.out
038
038.out
039
039.out
040 python/machine: remove has_quit argument 2021-11-01 11:54:59 -04:00
040.out
041 qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
041.out
042
042.out
043
043.out
044
044.out
045
045.out
046 iotests/046: Filter request length 2021-03-29 18:06:14 +02:00
046.out iotests/046: Filter request length 2021-03-29 18:06:14 +02:00
047
047.out
048
048.out
049
049.out qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
050
050.out
051 iotests/051: Fix typo 2021-10-15 16:06:23 +02:00
051.out iotests: fix 051.out expected output after error text touchups 2021-03-29 14:13:55 +02:00
051.pc.out iotests/051: Fix typo 2021-10-15 16:06:23 +02:00
052
052.out
053
053.out
054
054.out
055
055.out
056
056.out
057
057.out
058
058.out
059
059.out
060
060.out
061 qcow2: Prohibit backing file changes in 'qemu-img amend' 2021-07-09 12:26:05 +02:00
061.out qcow2: Prohibit backing file changes in 'qemu-img amend' 2021-07-09 12:26:05 +02:00
062
062.out
063
063.out
064
064.out
065
065.out
066
066.out
068 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
068.out
069
069.out
070
070.out
071
071.out
072
072.out
073
073.out
074
074.out
075
075.out
076
076.out
077
077.out
078
078.out
079
079.out
080
080.out
081
081.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
082
082.out qcow2: Prohibit backing file changes in 'qemu-img amend' 2021-07-09 12:26:05 +02:00
083
083.out
084
084.out
085 block: Fail gracefully when blockdev-snapshot creates loops 2021-11-02 13:02:46 +01:00
085.out block: Fail gracefully when blockdev-snapshot creates loops 2021-11-02 13:02:46 +01:00
086
086.out
087 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
087.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
088
088.out
089
089.out
090
090.out
091
091.out
092
092.out
093 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
093.out
094
094.out
095
095.out
096
096.out
097
097.out
098
098.out
099
099.out
101
101.out
102
102.out
103
103.out
104
104.out
105
105.out
106
106.out
107
107.out
108
108.out
109
109.out job: @force parameter for job_cancel_sync() 2021-10-07 10:42:09 +02:00
110
110.out
111
111.out
112
112.out
113
113.out
114 qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
114.out qemu-img: Improve error for rebase without backing format 2021-07-09 13:19:09 +02:00
115
115.out
116
116.out iotests/116: Fix reference output 2021-03-29 14:13:55 +02:00
117
117.out
118
118.out
119
119.out
120
120.out
121
121.out
122 qemu-img: Add -F shorthand to convert 2021-09-15 18:42:38 +02:00
122.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
123
123.out
124 block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
124.out
125
125.out
126
126.out
127 iotests: iothreads need ioeventfd 2021-03-24 14:25:48 +00:00
127.out
128
128.out
129 pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +01:00
129.out
130
130.out
131
131.out
132
132.out
133
133.out
134
134.out
135
135.out
136
136.out
137
137.out
138
138.out
139 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
139.out
140
140.out
141
141.out
142 file-posix: Fix alignment after reopen changing O_DIRECT 2021-11-16 11:30:29 +01:00
142.out file-posix: Fix alignment after reopen changing O_DIRECT 2021-11-16 11:30:29 +01:00
143
143.out
144
144.out
145
145.out
146
146.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
147
147.out
148
148.out
149
149.out
150
150.out.qcow2
150.out.raw
151 block/mirror: fix active mirror dead-lock in mirror_wait_on_conflicts 2021-07-20 13:14:45 +02:00
151.out iotest 151: add test-case that shows active mirror dead-lock 2021-07-20 13:14:45 +02:00
152
152.out
153
153.out
154
154.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
155 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
155.out
156
156.out
157
157.out
158
158.out
159
159.out
160
160.out
161
161.out
162
162.out
163
163.out
165 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
165.out
170
170.out
171
171.out
172 fdc: Drop deprecated floppy configuration 2021-03-19 15:18:43 +01:00
172.out block: Add backend_defaults property 2021-07-06 14:28:55 +01:00
173
173.out
174
174.out
175
175.out
176
176.out
177
177.out
178
178.out.qcow2 utils: Improve qemu_strtosz() to have 64 bits of precision 2021-03-08 13:36:12 -06:00
178.out.raw utils: Improve qemu_strtosz() to have 64 bits of precision 2021-03-08 13:36:12 -06:00
179
179.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
181 migrate: remove QMP/HMP commands for speed, downtime and cache size 2021-03-18 09:22:55 +00:00
181.out
182 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
182.out
183
183.out
184 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
184.out block: remove 'encryption_key_missing' flag from QAPI 2021-03-18 09:22:55 +00:00
185
185.out iotests: Fix expected whitespace for 185 2021-02-03 08:00:33 -06:00
186
186.out
187
187.out
188
188.out
189 block: BDRV_O_NO_IO for backing file on creation 2021-06-29 16:51:00 +02:00
189.out
190
190.out
191
191.out block: remove 'encryption_key_missing' flag from QAPI 2021-03-18 09:22:55 +00:00
192
192.out
194 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
194.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
195
195.out
196
196.out
197
197.out
198 block: BDRV_O_NO_IO for backing file on creation 2021-06-29 16:51:00 +02:00
198.out
200
200.out
201
201.out
202
202.out
203
203.out
204
204.out
205
205.out
206
206.out qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
207 block/ssh: add support for sha256 host key fingerprints 2021-06-30 12:45:32 +02:00
207.out block/ssh: add support for sha256 host key fingerprints 2021-06-30 12:45:32 +02:00
208
208.out
209
209.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
210
210.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
211
211.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
212
212.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
213
213.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
214
214.out
215
215.out
216
216.out
217
217.out
218 python/machine: remove has_quit argument 2021-11-01 11:54:59 -04:00
218.out
219
219.out
220
220.out
221
221.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
223
223.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
224
224.out
225
225.out
226
226.out block: remove support for using "file" driver with block/char devices 2021-03-18 09:22:55 +00:00
227
227.out
228
228.out
229
229.out
231 block/rbd: Add an escape-aware strchr helper 2021-05-14 16:14:10 +02:00
231.out block/rbd: Add an escape-aware strchr helper 2021-05-14 16:14:10 +02:00
232
232.out
233 tests: filter out TLS distinguished name in certificate checks 2021-08-09 17:32:43 +02:00
233.out tests: filter out TLS distinguished name in certificate checks 2021-08-09 17:32:43 +02:00
234
234.out
235 iotests: add 'qemu' package location to PYTHONPATH in testenv 2021-10-06 10:25:55 +02:00
235.out
236 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
236.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
237
237.out qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
238 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
238.out
239
239.out
240 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
240.out qemu-iotests: do not buffer the test output 2021-05-14 16:14:10 +02:00
241
241.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
242
242.out
243
243.out
244 iotests/244: Test preallocation for data-file-raw 2021-03-30 13:02:11 +02:00
244.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
245 qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
245.out iotests: Test reopening multiple devices at the same time 2021-07-09 13:19:11 +02:00
246 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
246.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
247
247.out
248 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
248.out block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
249
249.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
250
250.out
251
251.out
252
252.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
253
253.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
254 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
254.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
255 python/machine: remove has_quit argument 2021-11-01 11:54:59 -04:00
255.out
256 iotests: iothreads need ioeventfd 2021-03-24 14:25:48 +00:00
256.out
257 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
257.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
258 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
258.out iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
259 tests/qemu-iotests: Remove test 259 from the "auto" group 2021-02-15 15:10:14 +01:00
259.out
260 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
260.out
261
261.out
262
262.out
263
263.out
264 mirror: stop cancelling in-flight requests on non-force cancel in READY 2021-05-14 16:14:10 +02:00
264.out iotests/264: add backup-cancel test-case 2021-02-12 12:19:46 -06:00
265
265.out
266
266.out
267
267.out block: allow specifying name of block device for vmstate storage 2021-02-08 11:19:51 +00:00
268
268.out
270
270.out
271 qcow2: handle_dependencies(): relax conflict detection 2021-09-15 15:54:07 +02:00
271.out qcow2: handle_dependencies(): relax conflict detection 2021-09-15 15:54:07 +02:00
272
272.out
273
273.out block: remove 'encryption_key_missing' flag from QAPI 2021-03-18 09:22:55 +00:00
274
274.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
277
277.out
279
279.out
280
280.out
281
281.out
282
282.out
283 block: rename backup-top to copy-before-write 2021-09-01 12:57:31 +02:00
283.out block/copy-before-write: relax permission requirements when no parents 2021-09-01 14:03:47 +02:00
284
284.out
286
286.out
287 qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
287.out
288
288.out
289
289.out
290
290.out
292
292.out
293
293.out
294
294.out
295 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
295.out qemu-iotests: do not buffer the test output 2021-05-14 16:14:10 +02:00
296 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
296.out qemu-iotests: do not buffer the test output 2021-05-14 16:14:10 +02:00
297 iotests: split linters.py out from 297 2021-11-01 11:54:59 -04:00
297.out
298 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
298.out
299
299.out
300 iotests/300: avoid abnormal shutdown race condition 2021-11-01 11:54:59 -04:00
300.out qemu-iotests: 300: Add test case for modifying persistence of bitmap 2021-02-12 15:32:04 -06:00
301 qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
301.out qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
302
302.out
303
303.out
304
304.out
305
305.out
307 iotests/307: Test iothread conflict for exports 2021-07-20 16:49:50 +02:00
307.out iotests/307: Test iothread conflict for exports 2021-07-20 16:49:50 +02:00
308 qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
308.out iotests/308: Test +w on read-only FUSE exports 2021-07-09 12:26:05 +02:00
310 pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +01:00
310.out
312
312.out
313
313.out
check pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +01:00
common.config
common.filter tests: filter out TLS distinguished name in certificate checks 2021-08-09 17:32:43 +02:00
common.nbd
common.pattern
common.qemu qemu-iotests: add gdbserver option to script tests too 2021-09-01 12:57:31 +02:00
common.rc qemu-iotests: add gdbserver option to script tests too 2021-09-01 12:57:31 +02:00
common.tls
findtests.py
iotests.py pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +01:00
linters.py iotests/linters: Add workaround for mypy bug #9852 2021-11-01 11:54:59 -04:00
Makefile
mypy.ini iotests/297: Split mypy configuration out into mypy.ini 2021-11-01 11:54:59 -04:00
nbd-fault-injector.py
pylintrc iotests/297: Move pylint config into pylintrc 2021-11-01 11:54:59 -04:00
qcow2_format.py
qcow2.py
qed.py
README
testenv.py python, iotests: remove socket_scm_helper 2021-10-12 12:22:11 -04:00
testrunner.py qemu-iotests: flush after every test 2021-10-13 10:47:49 +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.