1QA output created by 051
2Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
3Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
4
5=== Unknown option ===
6
7Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=,if=none,id=drive0
8QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=,if=none,id=drive0: Block format 'qcow2' does not support the option 'unknown_opt'
9
10Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=on,if=none,id=drive0
11QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=on,if=none,id=drive0: Block format 'qcow2' does not support the option 'unknown_opt'
12
13Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=1234,if=none,id=drive0
14QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=1234,if=none,id=drive0: Block format 'qcow2' does not support the option 'unknown_opt'
15
16Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=foo,if=none,id=drive0
17QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=foo,if=none,id=drive0: Block format 'qcow2' does not support the option 'unknown_opt'
18
19
20=== Unknown protocol option ===
21
22Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=
23QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=: Block protocol 'file' doesn't support the option 'unknown_opt'
24
25Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=on
26QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=on: Block protocol 'file' doesn't support the option 'unknown_opt'
27
28Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=1234
29QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=1234: Block protocol 'file' doesn't support the option 'unknown_opt'
30
31Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=foo
32QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=foo: Block protocol 'file' doesn't support the option 'unknown_opt'
33
34
35=== Invalid format ===
36
37Testing: -drive file=TEST_DIR/t.qcow2,format=foo
38QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=foo: Unknown driver 'foo'
39
40Testing: -drive file=TEST_DIR/t.qcow2,driver=foo
41QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=foo: Unknown driver 'foo'
42
43Testing: -drive file=TEST_DIR/t.qcow2,driver=raw,format=qcow2
44QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=raw,format=qcow2: Cannot specify both 'driver' and 'format'
45
46Testing: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2
47QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2: Cannot specify both 'driver' and 'format'
48
49
50=== Node names ===
51
52Testing: -drive file=TEST_DIR/t.qcow2,node-name=x123456789012345678901234567890
53QEMU X.Y.Z monitor - type 'help' for more information
54(qemu) quit
55
56Testing: -drive file=TEST_DIR/t.qcow2,node-name=x1234567890123456789012345678901
57QEMU_PROG: -drive file=TEST_DIR/t.qcow2,node-name=x1234567890123456789012345678901: Node name too long
58
59Testing: -drive file=TEST_DIR/t.qcow2,node-name=All-Types.of_all0wed_chars
60QEMU X.Y.Z monitor - type 'help' for more information
61(qemu) quit
62
63Testing: -drive file=TEST_DIR/t.qcow2,node-name=123foo
64QEMU_PROG: -drive file=TEST_DIR/t.qcow2,node-name=123foo: Invalid node name
65
66Testing: -drive file=TEST_DIR/t.qcow2,node-name=_foo
67QEMU_PROG: -drive file=TEST_DIR/t.qcow2,node-name=_foo: Invalid node name
68
69Testing: -drive file=TEST_DIR/t.qcow2,node-name=foo#12
70QEMU_PROG: -drive file=TEST_DIR/t.qcow2,node-name=foo#12: Invalid node name
71
72
73=== Device without drive ===
74
75Testing: -device VIRTIO_SCSI -device scsi-hd
76QEMU X.Y.Z monitor - type 'help' for more information
77(qemu) QEMU_PROG: -device scsi-hd: drive property not set
78
79
80=== Overriding backing file ===
81
82Testing: -drive file=TEST_DIR/t.qcow2,driver=qcow2,backing.file.filename=TEST_DIR/t.qcow2.orig,if=none,id=drive0 -nodefaults
83QEMU X.Y.Z monitor - type 'help' for more information
84(qemu) info block
85drive0 (NODE_NAME): json:{"backing": {"driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2.orig"}}, "driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2"}} (qcow2)
86    Removable device: not locked, tray closed
87    Cache mode:       writeback
88    Backing file:     TEST_DIR/t.qcow2.orig (chain depth: 1)
89(qemu) quit
90
91Testing: -drive file=TEST_DIR/t.qcow2,driver=raw,backing.file.filename=TEST_DIR/t.qcow2.orig
92QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=raw,backing.file.filename=TEST_DIR/t.qcow2.orig: Driver doesn't support backing files
93
94Testing: -drive file=TEST_DIR/t.qcow2,file.backing.driver=file,file.backing.filename=TEST_DIR/t.qcow2.orig
95QEMU_PROG: -drive file=TEST_DIR/t.qcow2,file.backing.driver=file,file.backing.filename=TEST_DIR/t.qcow2.orig: Driver doesn't support backing files
96
97Testing: -drive file=TEST_DIR/t.qcow2,file.backing.driver=qcow2,file.backing.file.filename=TEST_DIR/t.qcow2.orig
98QEMU_PROG: -drive file=TEST_DIR/t.qcow2,file.backing.driver=qcow2,file.backing.file.filename=TEST_DIR/t.qcow2.orig: Driver doesn't support backing files
99
100
101=== Enable and disable lazy refcounting on the command line, plus some invalid values ===
102
103Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
104Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=on
105QEMU X.Y.Z monitor - type 'help' for more information
106(qemu) quit
107
108Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=off
109QEMU X.Y.Z monitor - type 'help' for more information
110(qemu) quit
111
112Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=
113QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=: Parameter 'lazy-refcounts' expects 'on' or 'off'
114
115Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=42
116QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=42: Parameter 'lazy-refcounts' expects 'on' or 'off'
117
118Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=foo
119QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=foo: Parameter 'lazy-refcounts' expects 'on' or 'off'
120
121
122=== With version 2 images enabling lazy refcounts must fail ===
123
124Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
125Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=on
126QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=on: Lazy refcounts require a qcow2 image with at least qemu 1.1 compatibility level
127
128Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=off
129QEMU X.Y.Z monitor - type 'help' for more information
130(qemu) quit
131
132
133=== No medium ===
134
135Testing: -drive if=floppy
136QEMU X.Y.Z monitor - type 'help' for more information
137(qemu) quit
138
139Testing: -drive if=ide,media=cdrom
140QEMU X.Y.Z monitor - type 'help' for more information
141(qemu) quit
142
143Testing: -drive if=ide
144QEMU X.Y.Z monitor - type 'help' for more information
145(qemu) QEMU_PROG: Initialization of device ide-hd failed: Device needs media, but drive is empty
146
147Testing: -drive if=virtio
148QEMU X.Y.Z monitor - type 'help' for more information
149(qemu) QEMU_PROG: -drive if=virtio: Device needs media, but drive is empty
150
151Testing: -drive if=none,id=disk -device ide-cd,drive=disk
152QEMU X.Y.Z monitor - type 'help' for more information
153(qemu) quit
154
155Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
156QEMU X.Y.Z monitor - type 'help' for more information
157(qemu) quit
158
159Testing: -drive if=none,id=disk -device ide-drive,drive=disk
160QEMU X.Y.Z monitor - type 'help' for more information
161(qemu) QEMU_PROG: -device ide-drive,drive=disk: warning: 'ide-drive' is deprecated, please use 'ide-hd' or 'ide-cd' instead
162QEMU_PROG: -device ide-drive,drive=disk: Device needs media, but drive is empty
163
164Testing: -drive if=none,id=disk -device ide-hd,drive=disk
165QEMU X.Y.Z monitor - type 'help' for more information
166(qemu) QEMU_PROG: -device ide-hd,drive=disk: Device needs media, but drive is empty
167
168Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-disk,drive=disk
169QEMU X.Y.Z monitor - type 'help' for more information
170(qemu) QEMU_PROG: -device scsi-disk,drive=disk: warning: 'scsi-disk' is deprecated, please use 'scsi-hd' or 'scsi-cd' instead
171QEMU_PROG: -device scsi-disk,drive=disk: Device needs media, but drive is empty
172
173Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-hd,drive=disk
174QEMU X.Y.Z monitor - type 'help' for more information
175(qemu) QEMU_PROG: -device scsi-hd,drive=disk: Device needs media, but drive is empty
176
177
178=== Attach to node in non-default iothread ===
179
180Testing: -drive file=TEST_DIR/t.qcow2,if=none,node-name=disk -object iothread,id=thread0 -device virtio-scsi,iothread=thread0,id=virtio-scsi0 -device scsi-hd,bus=virtio-scsi0.0,drive=disk,share-rw=on -device ide-hd,drive=disk,share-rw=on
181QEMU X.Y.Z monitor - type 'help' for more information
182(qemu) QEMU_PROG: -device ide-hd,drive=disk,share-rw=on: Cannot change iothread of active block backend
183
184Testing: -drive file=TEST_DIR/t.qcow2,if=none,node-name=disk -object iothread,id=thread0 -device virtio-scsi,iothread=thread0,id=virtio-scsi0 -device scsi-hd,bus=virtio-scsi0.0,drive=disk,share-rw=on -device virtio-blk-pci,drive=disk,share-rw=on
185QEMU X.Y.Z monitor - type 'help' for more information
186(qemu) QEMU_PROG: -device virtio-blk-pci,drive=disk,share-rw=on: Cannot change iothread of active block backend
187
188Testing: -drive file=TEST_DIR/t.qcow2,if=none,node-name=disk -object iothread,id=thread0 -device virtio-scsi,iothread=thread0,id=virtio-scsi0 -device scsi-hd,bus=virtio-scsi0.0,drive=disk,share-rw=on -device lsi53c895a,id=lsi0 -device scsi-hd,bus=lsi0.0,drive=disk,share-rw=on
189QEMU X.Y.Z monitor - type 'help' for more information
190(qemu) QEMU_PROG: -device scsi-hd,bus=lsi0.0,drive=disk,share-rw=on: HBA does not support iothreads
191
192Testing: -drive file=TEST_DIR/t.qcow2,if=none,node-name=disk -object iothread,id=thread0 -device virtio-scsi,iothread=thread0,id=virtio-scsi0 -device scsi-hd,bus=virtio-scsi0.0,drive=disk,share-rw=on -device virtio-scsi,id=virtio-scsi1 -device scsi-hd,bus=virtio-scsi1.0,drive=disk,share-rw=on
193QEMU X.Y.Z monitor - type 'help' for more information
194(qemu) QEMU_PROG: -device scsi-hd,bus=virtio-scsi1.0,drive=disk,share-rw=on: Cannot change iothread of active block backend
195
196Testing: -drive file=TEST_DIR/t.qcow2,if=none,node-name=disk -object iothread,id=thread0 -device virtio-scsi,iothread=thread0,id=virtio-scsi0 -device scsi-hd,bus=virtio-scsi0.0,drive=disk,share-rw=on -device virtio-blk-pci,drive=disk,iohtread=iothread0,share-rw=on
197QEMU X.Y.Z monitor - type 'help' for more information
198(qemu) QEMU_PROG: -device virtio-blk-pci,drive=disk,iohtread=iothread0,share-rw=on: Cannot change iothread of active block backend
199
200Testing: -drive file=TEST_DIR/t.qcow2,if=none,node-name=disk -object iothread,id=thread0 -device virtio-scsi,iothread=thread0,id=virtio-scsi0 -device scsi-hd,bus=virtio-scsi0.0,drive=disk,share-rw=on -device virtio-scsi,id=virtio-scsi1,iothread=thread0 -device scsi-hd,bus=virtio-scsi1.0,drive=disk,share-rw=on
201QEMU X.Y.Z monitor - type 'help' for more information
202(qemu) quit
203
204
205=== Read-only ===
206
207Testing: -drive file=TEST_DIR/t.qcow2,if=floppy,readonly=on
208QEMU X.Y.Z monitor - type 'help' for more information
209(qemu) quit
210
211Testing: -drive file=TEST_DIR/t.qcow2,if=ide,media=cdrom,readonly=on
212QEMU X.Y.Z monitor - type 'help' for more information
213(qemu) quit
214
215Testing: -drive file=TEST_DIR/t.qcow2,if=ide,readonly=on
216QEMU X.Y.Z monitor - type 'help' for more information
217(qemu) QEMU_PROG: Initialization of device ide-hd failed: Block node is read-only
218
219Testing: -drive file=TEST_DIR/t.qcow2,if=virtio,readonly=on
220QEMU X.Y.Z monitor - type 'help' for more information
221(qemu) quit
222
223Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device ide-cd,drive=disk
224QEMU X.Y.Z monitor - type 'help' for more information
225(qemu) quit
226
227Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device lsi53c895a -device scsi-cd,drive=disk
228QEMU X.Y.Z monitor - type 'help' for more information
229(qemu) quit
230
231Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device ide-drive,drive=disk
232QEMU X.Y.Z monitor - type 'help' for more information
233(qemu) QEMU_PROG: -device ide-drive,drive=disk: warning: 'ide-drive' is deprecated, please use 'ide-hd' or 'ide-cd' instead
234QEMU_PROG: -device ide-drive,drive=disk: Block node is read-only
235
236Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device ide-hd,drive=disk
237QEMU X.Y.Z monitor - type 'help' for more information
238(qemu) QEMU_PROG: -device ide-hd,drive=disk: Block node is read-only
239
240Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device lsi53c895a -device scsi-disk,drive=disk
241QEMU X.Y.Z monitor - type 'help' for more information
242(qemu) QEMU_PROG: -device scsi-disk,drive=disk: warning: 'scsi-disk' is deprecated, please use 'scsi-hd' or 'scsi-cd' instead
243quit
244
245Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device lsi53c895a -device scsi-hd,drive=disk
246QEMU X.Y.Z monitor - type 'help' for more information
247(qemu) quit
248
249
250=== Cache modes ===
251
252Testing: -drive driver=null-co,read-zeroes=on,cache=none
253QEMU X.Y.Z monitor - type 'help' for more information
254(qemu) quit
255
256Testing: -drive driver=null-co,read-zeroes=on,cache=directsync
257QEMU X.Y.Z monitor - type 'help' for more information
258(qemu) quit
259
260Testing: -drive driver=null-co,read-zeroes=on,cache=writeback
261QEMU X.Y.Z monitor - type 'help' for more information
262(qemu) quit
263
264Testing: -drive driver=null-co,read-zeroes=on,cache=writethrough
265QEMU X.Y.Z monitor - type 'help' for more information
266(qemu) quit
267
268Testing: -drive driver=null-co,read-zeroes=on,cache=unsafe
269QEMU X.Y.Z monitor - type 'help' for more information
270(qemu) quit
271
272Testing: -drive driver=null-co,cache=invalid_value
273QEMU_PROG: -drive driver=null-co,cache=invalid_value: invalid cache option
274
275Testing: -drive file=TEST_DIR/t.qcow2,cache=writeback,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,if=none,id=drive0 -nodefaults
276QEMU X.Y.Z monitor - type 'help' for more information
277(qemu) info block
278drive0 (NODE_NAME): json:{"backing": {"driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2.base"}}, "driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2"}} (qcow2)
279    Removable device: not locked, tray closed
280    Cache mode:       writeback
281    Backing file:     TEST_DIR/t.qcow2.base (chain depth: 1)
282(qemu) info block file
283
284file: TEST_DIR/t.qcow2 (file)
285    Cache mode:       writeback
286(qemu) info block backing
287backing: TEST_DIR/t.qcow2.base (qcow2, read-only)
288    Cache mode:       writeback, ignore flushes
289(qemu) info block backing-file
290
291backing-file: TEST_DIR/t.qcow2.base (file, read-only)
292    Cache mode:       writeback, ignore flushes
293(qemu) quit
294
295Testing: -drive file=TEST_DIR/t.qcow2,cache=writethrough,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,if=none,id=drive0 -nodefaults
296QEMU X.Y.Z monitor - type 'help' for more information
297(qemu) info block
298drive0 (NODE_NAME): json:{"backing": {"driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2.base"}}, "driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2"}} (qcow2)
299    Removable device: not locked, tray closed
300    Cache mode:       writethrough
301    Backing file:     TEST_DIR/t.qcow2.base (chain depth: 1)
302(qemu) info block file
303
304file: TEST_DIR/t.qcow2 (file)
305    Cache mode:       writeback
306(qemu) info block backing
307backing: TEST_DIR/t.qcow2.base (qcow2, read-only)
308    Cache mode:       writeback, ignore flushes
309(qemu) info block backing-file
310
311backing-file: TEST_DIR/t.qcow2.base (file, read-only)
312    Cache mode:       writeback, ignore flushes
313(qemu) quit
314
315Testing: -drive file=TEST_DIR/t.qcow2,cache=unsafe,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,if=none,id=drive0 -nodefaults
316QEMU X.Y.Z monitor - type 'help' for more information
317(qemu) info block
318drive0 (NODE_NAME): json:{"backing": {"driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2.base"}}, "driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2"}} (qcow2)
319    Removable device: not locked, tray closed
320    Cache mode:       writeback, ignore flushes
321    Backing file:     TEST_DIR/t.qcow2.base (chain depth: 1)
322(qemu) info block file
323
324file: TEST_DIR/t.qcow2 (file)
325    Cache mode:       writeback, ignore flushes
326(qemu) info block backing
327backing: TEST_DIR/t.qcow2.base (qcow2, read-only)
328    Cache mode:       writeback, ignore flushes
329(qemu) info block backing-file
330
331backing-file: TEST_DIR/t.qcow2.base (file, read-only)
332    Cache mode:       writeback, ignore flushes
333(qemu) quit
334
335Testing: -drive file=TEST_DIR/t.qcow2,cache=invalid_value,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,if=none,id=drive0 -nodefaults
336QEMU_PROG: -drive file=TEST_DIR/t.qcow2,cache=invalid_value,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,if=none,id=drive0: invalid cache option
337
338
339=== Specifying the protocol layer ===
340
341Testing: -drive file=TEST_DIR/t.qcow2,file.driver=file
342QEMU X.Y.Z monitor - type 'help' for more information
343(qemu) quit
344
345
346=== Leaving out required options ===
347
348Testing: -drive driver=file
349QEMU_PROG: -drive driver=file: The 'file' block driver requires a file name
350
351Testing: -drive driver=file,filename=
352QEMU_PROG: -drive driver=file,filename=: The 'file' block driver requires a file name
353
354Testing: -drive driver=nbd
355QEMU_PROG: -drive driver=nbd: NBD server address missing
356
357Testing: -drive driver=raw
358QEMU_PROG: -drive driver=raw: A block device must be specified for "file"
359
360Testing: -drive file.driver=file
361QEMU_PROG: -drive file.driver=file: The 'file' block driver requires a file name
362
363Testing: -drive file.driver=nbd
364QEMU_PROG: -drive file.driver=nbd: NBD server address missing
365
366Testing: -drive file.driver=raw
367QEMU_PROG: -drive file.driver=raw: A block device must be specified for "file"
368
369Testing: -drive foo=bar
370QEMU_PROG: -drive foo=bar: Must specify either driver or file
371
372
373=== Specifying both an option and its legacy alias ===
374
375Testing: -drive file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678
376QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678: 'throttling.iops-total' and its alias 'iops' can't be used at the same time
377
378Testing: -drive file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678
379QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678: 'throttling.iops-read' and its alias 'iops_rd' can't be used at the same time
380
381Testing: -drive file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678
382QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678: 'throttling.iops-write' and its alias 'iops_wr' can't be used at the same time
383
384Testing: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678
385QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678: 'throttling.bps-total' and its alias 'bps' can't be used at the same time
386
387Testing: -drive file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678
388QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678: 'throttling.bps-read' and its alias 'bps_rd' can't be used at the same time
389
390Testing: -drive file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678
391QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678: 'throttling.bps-write' and its alias 'bps_wr' can't be used at the same time
392
393Testing: -drive file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678
394QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678: 'throttling.iops-total-max' and its alias 'iops_max' can't be used at the same time
395
396Testing: -drive file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678
397QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678: 'throttling.iops-read-max' and its alias 'iops_rd_max' can't be used at the same time
398
399Testing: -drive file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678
400QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678: 'throttling.iops-write-max' and its alias 'iops_wr_max' can't be used at the same time
401
402Testing: -drive file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678
403QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678: 'throttling.bps-total-max' and its alias 'bps_max' can't be used at the same time
404
405Testing: -drive file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678
406QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678: 'throttling.bps-read-max' and its alias 'bps_rd_max' can't be used at the same time
407
408Testing: -drive file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678
409QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678: 'throttling.bps-write-max' and its alias 'bps_wr_max' can't be used at the same time
410
411Testing: -drive file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678
412QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678: 'throttling.iops-size' and its alias 'iops_size' can't be used at the same time
413
414Testing: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off
415QEMU_PROG: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off: 'read-only' and its alias 'readonly' can't be used at the same time
416
417
418=== Catching negative/large throttling values ===
419
420Testing: -drive file=TEST_DIR/t.qcow2,iops=-1
421QEMU_PROG: -drive file=TEST_DIR/t.qcow2,iops=-1: bps/iops/max values must be within [0, 1000000000000000]
422
423Testing: -drive file=TEST_DIR/t.qcow2,bps=-2
424QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=-2: bps/iops/max values must be within [0, 1000000000000000]
425
426Testing: -drive file=TEST_DIR/t.qcow2,bps_rd=-3
427QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_rd=-3: bps/iops/max values must be within [0, 1000000000000000]
428
429Testing: -drive file=TEST_DIR/t.qcow2,bps_rd_max=-3
430QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps_rd_max=-3: bps/iops/max values must be within [0, 1000000000000000]
431
432Testing: -drive file=TEST_DIR/t.qcow2,throttling.iops-total=-4
433QEMU_PROG: -drive file=TEST_DIR/t.qcow2,throttling.iops-total=-4: bps/iops/max values must be within [0, 1000000000000000]
434
435Testing: -drive file=TEST_DIR/t.qcow2,throttling.bps-total=-5
436QEMU_PROG: -drive file=TEST_DIR/t.qcow2,throttling.bps-total=-5: bps/iops/max values must be within [0, 1000000000000000]
437
438Testing: -drive file=TEST_DIR/t.qcow2,bps=0
439QEMU X.Y.Z monitor - type 'help' for more information
440(qemu) quit
441
442Testing: -drive file=TEST_DIR/t.qcow2,bps=1
443QEMU X.Y.Z monitor - type 'help' for more information
444(qemu) quit
445
446Testing: -drive file=TEST_DIR/t.qcow2,bps=1000000000000000
447QEMU X.Y.Z monitor - type 'help' for more information
448(qemu) quit
449
450Testing: -drive file=TEST_DIR/t.qcow2,bps=1000000000000001
451QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=1000000000000001: bps/iops/max values must be within [0, 1000000000000000]
452
453Testing: -drive file=TEST_DIR/t.qcow2,bps=9999999999999999
454QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=9999999999999999: bps/iops/max values must be within [0, 1000000000000000]
455
456
457=== Parsing protocol from file name ===
458
459Testing: -hda foo:bar
460QEMU_PROG: -hda foo:bar: Unknown protocol 'foo'
461
462Testing: -drive file=foo:bar
463QEMU_PROG: -drive file=foo:bar: Unknown protocol 'foo'
464
465Testing: -drive file.filename=foo:bar
466QEMU_PROG: -drive file.filename=foo:bar: Could not open 'foo:bar': No such file or directory
467
468Testing: -hda file:TEST_DIR/t.qcow2
469QEMU X.Y.Z monitor - type 'help' for more information
470(qemu) quit
471
472Testing: -drive file=file:TEST_DIR/t.qcow2
473QEMU X.Y.Z monitor - type 'help' for more information
474(qemu) quit
475
476Testing: -drive file.filename=file:TEST_DIR/t.qcow2
477QEMU_PROG: -drive file.filename=file:TEST_DIR/t.qcow2: Could not open 'file:TEST_DIR/t.qcow2': No such file or directory
478
479
480=== Snapshot mode ===
481
482wrote 4096/4096 bytes at offset 0
4834 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
484Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=drive0 -snapshot
485QEMU X.Y.Z monitor - type 'help' for more information
486(qemu) qemu-io drive0 "write -P 0x22 0 4k"
487wrote 4096/4096 bytes at offset 0
4884 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
489(qemu) quit
490
491Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on,if=none,id=drive0
492QEMU X.Y.Z monitor - type 'help' for more information
493(qemu) qemu-io drive0 "write -P 0x22 0 4k"
494wrote 4096/4096 bytes at offset 0
4954 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
496(qemu) quit
497
498Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2,snapshot=on,if=none,id=drive0
499QEMU X.Y.Z monitor - type 'help' for more information
500(qemu) qemu-io drive0 "write -P 0x22 0 4k"
501wrote 4096/4096 bytes at offset 0
5024 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
503(qemu) quit
504
505Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2,if=none,id=drive0 -snapshot
506QEMU X.Y.Z monitor - type 'help' for more information
507(qemu) qemu-io drive0 "write -P 0x22 0 4k"
508wrote 4096/4096 bytes at offset 0
5094 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
510(qemu) quit
511
512Testing: -drive file=file:TEST_DIR/t.qcow2,if=none,id=drive0 -snapshot
513QEMU X.Y.Z monitor - type 'help' for more information
514(qemu) qemu-io drive0 "write -P 0x22 0 4k"
515wrote 4096/4096 bytes at offset 0
5164 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
517(qemu) quit
518
519Testing: -drive file=file:TEST_DIR/t.qcow2,snapshot=on,if=none,id=drive0
520QEMU X.Y.Z monitor - type 'help' for more information
521(qemu) qemu-io drive0 "write -P 0x22 0 4k"
522wrote 4096/4096 bytes at offset 0
5234 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
524(qemu) quit
525
526Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=drive0 -snapshot
527QEMU X.Y.Z monitor - type 'help' for more information
528(qemu) qemu-io drive0 "write -P 0x22 0 4k"
529wrote 4096/4096 bytes at offset 0
5304 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
531(qemu) quit
532
533Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on,if=none,id=drive0
534QEMU X.Y.Z monitor - type 'help' for more information
535(qemu) qemu-io drive0 "write -P 0x22 0 4k"
536wrote 4096/4096 bytes at offset 0
5374 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
538(qemu) quit
539
540read 4096/4096 bytes at offset 0
5414 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
542Testing: -drive file=TEST_DIR/t.qcow2,snapshot=off,if=none,id=drive0
543QEMU X.Y.Z monitor - type 'help' for more information
544(qemu) qemu-io drive0 "write -P 0x22 0 4k"
545wrote 4096/4096 bytes at offset 0
5464 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
547(qemu) quit
548
549read 4096/4096 bytes at offset 0
5504 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
551Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on,if=none,id=drive0
552QEMU X.Y.Z monitor - type 'help' for more information
553(qemu) qemu-io drive0 "write -P 0x33 0 4k"
554wrote 4096/4096 bytes at offset 0
5554 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
556(qemu) commit drive0
557(qemu) quit
558
559read 4096/4096 bytes at offset 0
5604 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
561Testing: -drive driver=null-co,snapshot=on
562QEMU_PROG: -drive driver=null-co,snapshot=on: Could not get temporary filename: No such file or directory
563
564Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on,read-only=on,if=none,id=drive0
565QEMU X.Y.Z monitor - type 'help' for more information
566(qemu) info block
567drive0 (NODE_NAME): json:{"backing": {"driver": "qcow2", "file": {"driver": "file", "filename": "TEST_DIR/t.qcow2"}}, "driver": "qcow2", "file": {"driver": "file", "filename": SNAPSHOT_PATH}} (qcow2, read-only)
568    Removable device: not locked, tray closed
569    Cache mode:       writeback, ignore flushes
570    Backing file:     TEST_DIR/t.qcow2 (chain depth: 1)
571(qemu) quit
572
573*** done
574