qemu-e2k/tests/qemu-iotests
Eric Blake 14f16bf947 qemu-img: Support bitmap --merge into backing image
If you have the chain 'base.qcow2 <- top.qcow2' and want to merge a
bitmap from top into base, qemu-img was failing with:

qemu-img: Could not open 'top.qcow2': Could not open backing file: Failed to get shared "write" lock
Is another process using the image [base.qcow2]?

The easiest fix is to not open the entire backing chain of either
image (source or destination); after all, the point of 'qemu-img
bitmap' is solely to manipulate bitmaps directly within a single qcow2
image, and this is made more precise if we don't pay attention to
other images in the chain that may happen to have a bitmap by the same
name.

However, note that on a case-by-case analysis, there _are_ times where
we treat it as a feature that we can access a bitmap from a backing
layer in association with an overlay BDS.  A demonstration of this is
using NBD to expose both an overlay BDS (for constant contents) and a
bitmap (for learning which blocks are interesting) during an
incremental backup:

Base <- Active <- Temporary
          \--block job ->/

where Temporary is being fed by a backup 'sync=none' job.  When
exposing Temporary over NBD, referring to a bitmap that lives only in
Active is less effort than having to copy a bitmap into Temporary [1].
So the testsuite additions in this patch check both where bitmaps get
allocated (the qemu-img info output), and that qemu-nbd is indeed able
to access a bitmap inherited from the backing chain since it is a
different use case than 'qemu-img bitmap'.

[1] Full disclosure: prior to the recent commit 374eedd1c4 and
friends, we were NOT able to see bitmaps through filters, which meant
that we actually did not have nice clean semantics for uniformly being
able to pick up bitmaps from anywhere in the backing chain (seen as a
change in behavior between qemu 4.1 and 4.2 at commit 00e30f05de, when
block-copy swapped from a one-off to a filter).  Which means libvirt
was already coded to copy bitmaps around for the sake of older qemu,
even though modern qemu no longer needs it.  Oh well.

Fixes: http://bugzilla.redhat.com/1877209
Reported-by: Eyal Shenitzky <eshenitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200914191009.644842-1-eblake@redhat.com>
[eblake: more commit message tweaks, per Max Reitz review]
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
2020-09-21 17:01:09 -05:00
..
sample_images
.gitignore
001 block: Comment cleanups 2020-05-05 13:17:36 +02:00
001.out
002
002.out
003
003.out
004
004.out
005
005.out
007 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
007.out
008
008.out
009
009.out
010
010.out
011
011.out
012
012.out
013
013.out
014 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
014.out
015 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
015.out
017 Remove VXHS block device 2020-07-17 14:20:57 +02:00
017.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
018 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
018.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
019 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
019.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
020 iotests: Add test for commit in sub directory 2020-09-08 13:40:52 +02:00
020.out iotests: Add test for commit in sub directory 2020-09-08 13:40:52 +02:00
021
021.out
022
022.out
023
023.out
024 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
024.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
025
025.out
026 iotests/026: Move v3-exclusive test to new file 2020-03-24 12:05:31 +01:00
026.out iotests/026: Move v3-exclusive test to new file 2020-03-24 12:05:31 +01:00
026.out.nocache iotests/026: Move v3-exclusive test to new file 2020-03-24 12:05:31 +01:00
027
027.out
028 iotests/028: Add test for cross-base-EOF reads 2020-07-28 15:28:56 +02:00
028.out iotests/028: Add test for cross-base-EOF reads 2020-07-28 15:28:56 +02:00
029 Remove VXHS block device 2020-07-17 14:20:57 +02:00
029.out
030 iotests: Skip test_stream_parallel in test 030 when doing "make check" 2020-09-15 11:05:13 +02:00
030.out
031 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
031.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
032
032.out
033
033.out
034 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
034.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
035
035.out
036 qcow2: Avoid feature name extension on small cluster size 2020-03-26 14:44:33 +01:00
036.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
037 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
037.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
038 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
038.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
039 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
039.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
040 iotests: Test committing to overridden backing 2020-09-08 13:40:53 +02:00
040.out iotests: Test committing to overridden backing 2020-09-08 13:40:53 +02:00
041 iotests: Add filter mirror test cases 2020-09-08 13:40:49 +02:00
041.out iotests: Add filter mirror test cases 2020-09-08 13:40:49 +02:00
042 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
042.out
043 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
043.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
044 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
044.out
045 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
045.out
046 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
046.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
047
047.out
048 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
048.out
049 block: Raise an error when backing file parameter is an empty string 2020-09-07 12:23:55 +02:00
049.out block: Raise an error when backing file parameter is an empty string 2020-09-07 12:23:55 +02:00
050 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
050.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
051 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
051.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
051.pc.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
052 block: Comment cleanups 2020-05-05 13:17:36 +02:00
052.out
053 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
053.out
054
054.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
055 iotests/055: Use cache.no-flush for vmdk target 2020-05-08 13:26:35 +02:00
055.out iotests: Backup with different source/target size 2020-05-08 13:26:35 +02:00
056 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
056.out
057 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
057.out
058 tests/qemu-iotests: use AIOMODE with various tests 2020-01-30 21:01:40 +00:00
058.out
059 iotests/059: Filter out disk size with more standard filter 2020-07-14 15:18:59 +02:00
059.out iotests/059: Fix reference output 2020-09-02 16:32:14 -05:00
060 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
060.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
061 qcow2: Assert that expand_zero_clusters_in_l1() does not support subclusters 2020-08-25 10:20:15 +02:00
061.out qcow2: Assert that expand_zero_clusters_in_l1() does not support subclusters 2020-08-25 10:20:15 +02:00
062 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
062.out
063 iotests: Avoid cp/mv of test images 2020-01-06 13:43:07 +01:00
063.out iotests: Avoid cp/mv of test images 2020-01-06 13:43:07 +01:00
064
064.out
065 qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
065.out
066 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
066.out
067 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
067.out
068 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
068.out
069 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
069.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
070
070.out
071 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
071.out
072
072.out
073 Remove VXHS block device 2020-07-17 14:20:57 +02:00
073.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
074 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
074.out
075
075.out
076
076.out
077
077.out
078
078.out
079 iotests: Replace IMGOPTS= by -o 2020-01-06 13:43:07 +01:00
079.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
080 qcow2: introduce compression type feature 2020-05-13 14:20:31 +02:00
080.out
081 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
081.out
082 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
082.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
083
083.out
084
084.out
085 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
085.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
086
086.out
087 iotests: Check whether luks works 2020-07-06 08:49:28 +02:00
087.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
088 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
088.out
089 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
089.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
090 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
090.out
091 iotests: handle tmpfs 2020-05-08 13:26:35 +02:00
091.out iotests: Make 091 work with data_file 2020-01-06 13:43:07 +01:00
092 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
092.out
093 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
093.out
094 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
094.out
095 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
095.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
096 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
096.out
097 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
097.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
098 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
098.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
099 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
099.out
101
101.out
102
102.out
103 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
103.out
104
104.out
105
105.out
106 file-posix: Mitigate file fragmentation with extent size hints 2020-07-14 15:18:59 +02:00
106.out
107
107.out
108 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
108.out
109 iotests/109: Don't mirror with mismatched size 2020-05-18 19:05:24 +02:00
109.out iotests/109: Don't mirror with mismatched size 2020-05-18 19:05:24 +02:00
110 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
110.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
111 iotests: Avoid qemu-img create 2020-01-06 13:43:07 +01:00
111.out block: Error if backing file fails during creation without -u 2020-07-14 15:18:59 +02:00
112 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
112.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
113 iotests/113: mark bochs as required to support whitelisting 2020-05-08 13:26:35 +02:00
113.out
114 Remove VXHS block device 2020-07-17 14:20:57 +02:00
114.out qemu-img: Deprecate use of -b without -F 2020-07-14 15:24:05 +02:00
115 iotests: Replace IMGOPTS= by -o 2020-01-06 13:43:07 +01:00
115.out
116
116.out
117
117.out
118 iotests.py: Add skip_for_formats() decorator 2020-06-17 16:21:21 +02:00
118.out
119
119.out
120
120.out
121 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
121.out
122 iotests: Test sparseness for qemu-img convert -n 2020-07-21 17:44:35 +02:00
122.out iotests: Test sparseness for qemu-img convert -n 2020-07-21 17:44:35 +02:00
123 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
123.out
124 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
124.out
125 qcow2: Make preallocate_co() resize the image to the correct size 2020-09-15 11:30:36 +02:00
125.out qcow2: Make preallocate_co() resize the image to the correct size 2020-09-15 11:30:36 +02:00
126 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
126.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
127 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
127.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
128
128.out
129 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
129.out
130 Remove VXHS block device 2020-07-17 14:20:57 +02:00
130.out
131
131.out
132 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
132.out
133 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
133.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
134 Remove VXHS block device 2020-07-17 14:20:57 +02:00
134.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
135
135.out
136 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
136.out
137 iotests: Make 137 work with data_file 2020-01-06 13:43:07 +01:00
137.out iotests: Make 137 work with data_file 2020-01-06 13:43:07 +01:00
138 iotests/138: Test leaks/corruptions fixed report 2020-03-26 14:52:43 +01:00
138.out iotests/138: Test leaks/corruptions fixed report 2020-03-26 14:52:43 +01:00
139 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
139.out
140
140.out
141 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
141.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
142 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
142.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
143 nbd/server: Avoid long error message assertions CVE-2020-10761 2020-06-10 12:58:59 -05:00
143.out nbd/server: Avoid long error message assertions CVE-2020-10761 2020-06-10 12:58:59 -05:00
144 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
144.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
145
145.out
146 block/vpc: return ZERO block-status when appropriate 2020-07-06 10:32:38 +02:00
146.out block/vpc: return ZERO block-status when appropriate 2020-07-06 10:32:38 +02:00
147 iotests/147: Fix drive parameters 2020-02-20 16:43:42 +01:00
147.out
148 iotests/148: use skip_if_unsupported 2020-05-08 13:26:35 +02:00
148.out
149 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
149.out
150
150.out.qcow2
150.out.raw
151 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
151.out
152 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
152.out
153 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
153.out block/null: Implement bdrv_get_allocated_file_size 2020-09-07 12:31:31 +02:00
154 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
154.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
155 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
155.out iotests: Add iothread cases to 155 2020-03-11 15:54:38 +01:00
156 Remove VXHS block device 2020-07-17 14:20:57 +02:00
156.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
157
157.out
158 Remove VXHS block device 2020-07-17 14:20:57 +02:00
158.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
159 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
159.out
160 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
160.out
161 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
161.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
162
162.out
163 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
163.out
165 drop "from __future__ import print_function" 2020-02-07 15:15:16 +01:00
165.out
169 iotests/169: Test source cont with backing bmap 2020-08-03 08:59:37 -05:00
169.out iotests/169: Test source cont with backing bmap 2020-08-03 08:59:37 -05:00
170 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
170.out
171
171.out
172 fdc: Reject clash between -drive if=floppy and -global isa-fdc 2020-06-23 16:07:07 +02:00
172.out qdev: Reject drive property override 2020-06-23 16:07:07 +02:00
173 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
173.out
174 iotests: Replace IMGOPTS='' by --no-opts 2020-01-06 13:43:07 +01:00
174.out
175 file-posix: Mitigate file fragmentation with extent size hints 2020-07-14 15:18:59 +02:00
175.out
176 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
176.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
177 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
177.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
178 iotests: Check whether luks works 2020-07-06 08:49:28 +02:00
178.out.qcow2 qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
178.out.raw iotests: Fix test 178 2020-05-28 13:15:23 -05:00
179 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
179.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
181 tests/qemu-iotests: use AIOMODE with various tests 2020-01-30 21:01:40 +00:00
181.out
182 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
182.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
183 iotests: Test 183 does not work on macOS and OpenBSD 2020-02-06 13:47:45 +01:00
183.out
184 block/null: Implement bdrv_get_allocated_file_size 2020-09-07 12:31:31 +02:00
184.out block: Use child access functions for QAPI queries 2020-09-07 12:31:31 +02:00
185 tests/qemu-iotests: use AIOMODE with various tests 2020-01-30 21:01:40 +00:00
185.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
186
186.out
187 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
187.out
188 iotests: Check whether luks works 2020-07-06 08:49:28 +02:00
188.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
189 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
189.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
190 iotests/{190,291}: compat=0.10 is unsupported 2020-06-17 16:21:21 +02:00
190.out qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
191 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
191.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
192
192.out
194 qemu-iotests: Merge FilePaths and FilePath 2020-09-15 11:05:12 +02:00
194.out iotests: 194: wait for migration completion on target too 2020-06-09 17:05:50 -05:00
195 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
195.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
196 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
196.out
197 iotests/197: Fix for non-qcow2 formats 2020-07-28 15:28:56 +02:00
197.out iotests/197: Fix for non-qcow2 formats 2020-07-28 15:28:56 +02:00
198 qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
198.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
199 qemu-iotests/199: add source-killed case to bitmaps postcopy 2020-07-27 15:41:34 -05:00
199.out qemu-iotests/199: add source-killed case to bitmaps postcopy 2020-07-27 15:41:34 -05:00
200 tests/qemu-iotests: use AIOMODE with various tests 2020-01-30 21:01:40 +00:00
200.out
201 tests/qemu-iotests: use AIOMODE with various tests 2020-01-30 21:01:40 +00:00
201.out
202 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
202.out
203 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
203.out
204 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
204.out qemu-img: Use child access functions 2020-09-07 12:31:31 +02:00
205 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
205.out
206 iotests: Check whether luks works 2020-07-06 08:49:28 +02:00
206.out qcow2: Allow preallocation and backing files if extended_l2 is set 2020-08-25 09:20:04 +02:00
207 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
207.out
208 qemu-iotests: Merge FilePaths and FilePath 2020-09-15 11:05:12 +02:00
208.out
209 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
209.out
210 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
210.out
211 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
211.out
212 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
212.out
213 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
213.out
214 tests/iotests: be a little more forgiving on the size test 2020-02-25 20:20:09 +00:00
214.out tests/qemu-iotests: add case to write compressed data of multiple clusters 2020-01-06 13:43:07 +01:00
215 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
215.out
216 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
216.out
217 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
217.out
218 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
218.out
219 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
219.out blockdev: unify qmp_drive_backup and drive-backup transaction paths 2020-01-27 17:19:53 +01:00
220 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
220.out
221
221.out
222 qemu-iotests: Merge FilePaths and FilePath 2020-09-15 11:05:12 +02:00
222.out
223 iotests: Enhance 223 to cover qemu-img map improvements 2020-05-18 11:02:05 -05:00
223.out iotests: Enhance 223 to cover qemu-img map improvements 2020-05-18 11:02:05 -05:00
224 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
224.out
225 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
225.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
226
226.out
227
227.out
228 block: Leave BDS.backing_{file,format} constant 2020-09-07 12:31:31 +02:00
228.out block: Leave BDS.backing_{file,format} constant 2020-09-07 12:31:31 +02:00
229 iotests/229: data_file is unsupported 2020-06-17 16:21:21 +02:00
229.out iotests/229: Use blkdebug to inject an error 2020-05-18 19:05:24 +02:00
231
231.out
232 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
232.out
233
233.out
234 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
234.out
235 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
235.out
236 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
236.out
237 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
237.out
238 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
238.out
239
239.out
240
240.out
241
241.out
242 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
242.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
243 file-posix: Mitigate file fragmentation with extent size hints 2020-07-14 15:18:59 +02:00
243.out
244 iotests: Test that qcow2's data-file is flushed 2020-09-07 12:31:31 +02:00
244.out iotests: Test that qcow2's data-file is flushed 2020-09-07 12:31:31 +02:00
245 block: Leave BDS.backing_{file,format} constant 2020-09-07 12:31:31 +02:00
245.out iotests: use python logging for iotests.log() 2020-05-05 13:17:36 +02:00
246 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
246.out
247 iotests: Use _rm_test_img for deleting test images 2020-01-06 13:43:07 +01:00
247.out
248 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
248.out
249 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
249.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
250 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
250.out
251 qemu-img: avoid unaligned read requests during convert 2020-09-15 11:05:12 +02:00
251.out
252 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
252.out
253
253.out
254 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
254.out
255 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
255.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
256 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
256.out
257 qemu-iotests: Merge FilePaths and FilePath 2020-09-15 11:05:12 +02:00
257.out
258 iotest 258: use script_main 2020-05-05 13:17:36 +02:00
258.out
259 iotests: Add test for image creation fallback 2020-02-20 16:43:42 +01:00
259.out iotests/259: Fix reference output 2020-09-02 16:32:14 -05:00
260 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
260.out
261 iotests: Disable data_file where it cannot be used 2020-01-06 13:43:07 +01:00
261.out
262 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
262.out
263 iotests: Check whether luks works 2020-07-06 08:49:28 +02:00
263.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
264 iotests: Make qemu_nbd_popen() a contextmanager 2020-07-28 09:54:43 -05:00
264.out iotests: Make qemu_nbd_popen() a contextmanager 2020-07-28 09:54:43 -05:00
265 iotests: Replace IMGOPTS= by -o 2020-01-06 13:43:07 +01:00
265.out
266 tests/qemu-iotests: Explicit usage of Python3 (scripts without __main__) 2020-02-07 15:15:16 +01:00
266.out
267 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
267.out migration: improve error reporting of block driver state name 2020-08-28 13:34:52 +01:00
268
268.out
270 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
270.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
271 iotests: Add tests for qcow2 images with extended L2 entries 2020-08-26 08:49:51 +02:00
271.out iotests: Add tests for qcow2 images with extended L2 entries 2020-08-26 08:49:51 +02:00
272
272.out
273 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
273.out block: Leave BDS.backing_{file,format} constant 2020-09-07 12:31:31 +02:00
274 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
274.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
277 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
277.out
279 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
279.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
280 iotests: add script_initialize 2020-05-05 13:17:36 +02:00
280.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
281 tests/qemu-iotests: Explicit usage of Python 3 (scripts with __main__) 2020-02-07 15:12:48 +01:00
281.out iotests: Test handling of AioContexts with some blockdev actions 2020-01-27 17:19:53 +01:00
282 Remove VXHS block device 2020-07-17 14:20:57 +02:00
282.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
283 iotests/283: Use consistent size for source and target 2020-05-08 13:26:35 +02:00
283.out iotests/283: Use consistent size for source and target 2020-05-08 13:26:35 +02:00
284 iotests: Check whether luks works 2020-07-06 08:49:28 +02:00
284.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
286 iotests: Test snapshot -l field separation 2020-02-20 16:43:42 +01:00
286.out iotests: Test snapshot -l field separation 2020-02-20 16:43:42 +01:00
287 iotests: 287: add qcow2 compression type test 2020-05-13 14:20:31 +02:00
287.out iotests: 287: add qcow2 compression type test 2020-05-13 14:20:31 +02:00
288 iotests: add 288 luks qemu-img measure test 2020-03-11 12:42:29 +01:00
288.out iotests: add 288 luks qemu-img measure test 2020-03-11 12:42:29 +01:00
289 iotests/026: Move v3-exclusive test to new file 2020-03-24 12:05:31 +01:00
289.out iotests/026: Move v3-exclusive test to new file 2020-03-24 12:05:31 +01:00
290 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
290.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
291 qemu-img: Support bitmap --merge into backing image 2020-09-21 17:01:09 -05:00
291.out qemu-img: Support bitmap --merge into backing image 2020-09-21 17:01:09 -05:00
292 iotests/292: data_file is unsupported 2020-06-17 16:21:21 +02:00
292.out qcow2: Avoid integer wraparound in qcow2_co_truncate() 2020-05-08 13:26:35 +02:00
293 iotests: qemu-img tests for luks key management 2020-07-06 08:49:28 +02:00
293.out iotests: qemu-img tests for luks key management 2020-07-06 08:49:28 +02:00
294 iotests: qemu-img tests for luks key management 2020-07-06 08:49:28 +02:00
294.out iotests: qemu-img tests for luks key management 2020-07-06 08:49:28 +02:00
295 iotests: add tests for blockdev-amend 2020-07-06 08:49:28 +02:00
295.out iotests: add tests for blockdev-amend 2020-07-06 08:49:28 +02:00
296 qemu-iotests: add testcase for bz #1857490 2020-07-21 10:49:02 +02:00
296.out qemu-iotests: add testcase for bz #1857490 2020-07-21 10:49:02 +02:00
297 iotests: Run pylint and mypy in a testcase 2020-05-18 19:05:25 +02:00
297.out iotests: Run pylint and mypy in a testcase 2020-05-18 19:05:25 +02:00
299 iotests: test shutdown when bitmap is exported through NBD 2020-07-17 14:20:57 +02:00
299.out iotests: test shutdown when bitmap is exported through NBD 2020-07-17 14:20:57 +02:00
300 iotests: Test node/bitmap aliases during migration 2020-08-21 08:56:09 -05:00
300.out iotests: Test node/bitmap aliases during migration 2020-08-21 08:56:09 -05:00
301 qcow: Tolerate backing_fmt= 2020-07-14 15:18:59 +02:00
301.out qemu-img: Deprecate use of -b without -F 2020-07-14 15:24:05 +02:00
302 iotests: Test convert to qcow2 compressed to NBD 2020-07-28 09:54:43 -05:00
302.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
303 iotests: dump QCOW2 header in JSON in #303 2020-08-21 08:56:09 -05:00
303.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
304 iotests: add test for unaligned granularity bitmap backup 2020-08-11 09:29:31 +02:00
304.out iotests: add test for unaligned granularity bitmap backup 2020-08-11 09:29:31 +02:00
305 qcow2: Fix removal of list members from BDRVQcow2State.cluster_allocs 2020-09-15 11:05:13 +02:00
305.out qcow2: Fix removal of list members from BDRVQcow2State.cluster_allocs 2020-09-15 11:05:13 +02:00
check iotests: Drop readlink -f 2020-09-16 08:41:06 +02:00
common.config
common.filter qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
common.nbd
common.pattern iotests/common.pattern: Quote echos 2020-04-07 13:51:09 +02:00
common.qemu
common.rc Remove VXHS block device 2020-07-17 14:20:57 +02:00
common.tls crypto: use a stronger private key for tests 2020-07-17 14:20:57 +02:00
group qcow2: Fix removal of list members from BDRVQcow2State.cluster_allocs 2020-09-15 11:05:13 +02:00
iotests.py qemu-iotests: Simplify FilePath __init__ 2020-09-15 11:05:12 +02:00
Makefile
meson.build qemu-iotests: move check-block back to Makefiles 2020-09-08 07:17:09 +02:00
nbd-fault-injector.py python: remove more instances of sys.version_info 2020-05-31 18:25:07 +02:00
pylintrc iotests: limit line length to 79 chars 2020-05-05 13:17:36 +02:00
qcow2_format.py qcow2_format.py: support dumping metadata in JSON format 2020-08-21 08:56:09 -05:00
qcow2.py qcow2.py: Introduce '-j' key to dump in JSON format 2020-08-21 08:56:09 -05:00
qed.py drop "from __future__ import print_function" 2020-02-07 15:15:16 +01:00
README
socket_scm_helper.c

=== 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.