qemu-e2k/tests/qemu-iotests
Eric Blake 8417e1378c qemu-img: Make unallocated part of backing chain obvious in map
The recently-added NBD context qemu:allocation-depth is able to
distinguish between locally-present data (even when that data is
sparse) [shown as depth 1 over NBD], and data that could not be found
anywhere in the backing chain [shown as depth 0]; and the libnbd
project was recently patched to give the human-readable name "absent"
to an allocation-depth of 0.  But qemu-img map --output=json predates
that addition, and has the unfortunate behavior that all portions of
the backing chain that resolve without finding a hit in any backing
layer report the same depth as the final backing layer.  This makes it
harder to reconstruct a qcow2 backing chain using just 'qemu-img map'
output, especially when using "backing":null to artificially limit a
backing chain, because it is impossible to distinguish between a
QCOW2_CLUSTER_UNALLOCATED (which defers to a [missing] backing file)
and a QCOW2_CLUSTER_ZERO_PLAIN cluster (which would override any
backing file), since both types of clusters otherwise show as
"data":false,"zero":true" (but note that we can distinguish a
QCOW2_CLUSTER_ZERO_ALLOCATED, which would also have an "offset":
listing).

The task of reconstructing a qcow2 chain was made harder in commit
0da9856851 (nbd: server: Report holes for raw images), because prior
to that point, it was possible to abuse NBD's block status command to
see which portions of a qcow2 file resulted in BDRV_BLOCK_ALLOCATED
(showing up as NBD_STATE_ZERO in isolation) vs. missing from the chain
(showing up as NBD_STATE_ZERO|NBD_STATE_HOLE); but now qemu reports
more accurate sparseness information over NBD.

An obvious solution is to make 'qemu-img map --output=json' add an
additional "present":false designation to any cluster lacking an
allocation anywhere in the chain, without any change to the "depth"
parameter to avoid breaking existing clients.  The iotests have
several examples where this distinction demonstrates the additional
accuracy.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20210701190655.2131223-3-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
[eblake: fix more iotest fallout]
Signed-off-by: Eric Blake <eblake@redhat.com>
2021-07-12 11:10:53 -05:00
..
sample_images iotests: add parallels-read-bitmap test 2021-03-08 14:56:55 +01:00
tests qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
001 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
001.out
002 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
002.out
003 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
003.out
004 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
004.out
005 block: Drop the sheepdog block driver 2021-05-12 17:42:23 +02:00
005.out
007 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
007.out
008 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
008.out
009 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
009.out
010 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
010.out
011 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
011.out
012 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
012.out
013 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
013.out
014 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
014.out
015 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
015.out
017 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
017.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
018 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
018.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
019 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
019.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
020 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
020.out iotests: Add test for commit in sub directory 2020-09-08 13:40:52 +02:00
021 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
021.out
022 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
022.out
023 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
023.out
024 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
024.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
025 block: Drop the sheepdog block driver 2021-05-12 17:42:23 +02:00
025.out
026 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
026.out
026.out.nocache
027 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
027.out
028 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
028.out iotests: Use convert -n in some cases 2020-12-11 17:52:40 +01:00
029 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
029.out
030 block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
030.out
031 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
031.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
032 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
032.out
033 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
033.out
034 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
034.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
035 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
035.out
036 iotests: define group in each iotest 2021-01-20 14:53:22 -06: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: define group in each iotest 2021-01-20 14:53:22 -06:00
037.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
038 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
038.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
039 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
039.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
040 qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
040.out iotests: Test committing to overridden backing 2020-09-08 13:40:53 +02:00
041 qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
041.out iotests: Add filter mirror test cases 2020-09-08 13:40:49 +02:00
042 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
042.out
043 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
043.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
044 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
044.out
045 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
047.out
048 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
048.out
049 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
049.out utils: Improve qemu_strtosz() to have 64 bits of precision 2021-03-08 13:36:12 -06:00
050 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
050.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
051 iotests: Fix typo in iotest 051 2021-03-29 14:13:55 +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: Fix typo in iotest 051 2021-03-29 14:13:55 +02:00
052 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
052.out
053 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
053.out
054 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
054.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
055 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
055.out iotests: Backup with different source/target size 2020-05-08 13:26:35 +02:00
056 iotests: 56: prepare for backup over block-copy 2021-01-26 14:36:37 +01:00
056.out
057 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
057.out
058 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
058.out
059 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
059.out iotests/059: Fix reference output 2020-09-02 16:32:14 -05:00
060 iotests: define group in each iotest 2021-01-20 14:53:22 -06: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: 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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
062.out
063 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
063.out
064 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
064.out
065 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
065.out
066 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
069.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
070 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
070.out
071 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
071.out
072 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
072.out
073 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
073.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
074 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
074.out
075 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
075.out
076 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
076.out
077 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
077.out
078 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
078.out
079 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
079.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
080 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
080.out
081 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
081.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
082 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
082.out qcow2: Prohibit backing file changes in 'qemu-img amend' 2021-07-09 12:26:05 +02:00
083 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
083.out
084 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
084.out
085 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
085.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
086 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
088.out
089 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
089.out iotests: Use convert -n in some cases 2020-12-11 17:52:40 +01:00
090 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
090.out
091 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
091.out
092 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
094.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
095 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
095.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
096 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
096.out
097 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
097.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
098 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
098.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
099 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
099.out
101 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
101.out
102 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
102.out iotests/102: Pass $QEMU_HANDLE to _send_qemu_cmd 2020-12-18 12:47:37 +01:00
103 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
103.out
104 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
104.out
105 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
105.out
106 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
106.out
107 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
107.out
108 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
108.out
109 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
109.out job: call job_enter from job_pause 2021-01-26 14:36:37 +01:00
110 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
110.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
111 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
111.out block: Error if backing file fails during creation without -u 2020-07-14 15:18:59 +02:00
112 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
112.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
113 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
115.out
116 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
116.out iotests/116: Fix reference output 2021-03-29 14:13:55 +02:00
117 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
117.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
118 iotests/118: Drop 'change' test 2021-01-26 14:36:37 +01:00
118.out iotests/118: Drop 'change' test 2021-01-26 14:36:37 +01:00
119 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
119.out
120 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
120.out
121 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
121.out
122 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
122.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
123 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
123.out
124 block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
124.out
125 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
125.out qcow2: Make preallocate_co() resize the image to the correct size 2020-09-15 11:30:36 +02:00
126 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
126.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
127 iotests: iothreads need ioeventfd 2021-03-24 14:25:48 +00:00
127.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
128 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
128.out
129 iotests/129: Limit backup's max-chunk/max-workers 2021-01-26 14:36:37 +01:00
129.out
130 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
130.out
131 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
131.out
132 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
132.out
133 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
133.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
134 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
134.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
135 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
135.out
136 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
136.out
137 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
137.out
138 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
140.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
141 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
141.out block: apply COR-filter to block-stream jobs 2021-01-26 14:36:37 +01: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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
143.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
144 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
144.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
145 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
145.out
146 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
146.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
147 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
147.out
148 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
148.out
149 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
149.out
150 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
150.out.qcow2
150.out.raw
151 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
151.out
152 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
152.out
153 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
153.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
154 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
156.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
157 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
157.out
158 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
158.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
159 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
159.out
160 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
160.out
161 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
161.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
162 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
162.out util: include the target address in socket connect failures 2020-10-29 09:57:37 +00:00
163 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
163.out
165 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
165.out
170 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
170.out
171 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
173.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
174 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
174.out
175 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
175.out iotests: fix some whitespaces in test output files 2021-01-20 14:53:22 -06:00
176 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
176.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
177 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
177.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
178 iotests/178: Pass value to invalid option 2021-01-26 14:36:37 +01:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
183 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
183.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
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 iotests: 185: prepare for backup over block-copy 2021-01-26 14:36:37 +01:00
185.out iotests: Fix expected whitespace for 185 2021-02-03 08:00:33 -06:00
186 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
186.out iotests: make _filter_qom_path more strict 2020-12-18 11:48:39 +01:00
187 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
187.out
188 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
188.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
189 block: BDRV_O_NO_IO for backing file on creation 2021-06-29 16:51:00 +02:00
189.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
190 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
190.out qcow2: Expose bitmaps' size during measure 2020-05-28 13:16:16 -05:00
191 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
191.out block: remove 'encryption_key_missing' flag from QAPI 2021-03-18 09:22:55 +00:00
192 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
195.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
196 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
196.out
197 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
197.out iotests/197: Fix for non-qcow2 formats 2020-07-28 15:28:56 +02:00
198 block: BDRV_O_NO_IO for backing file on creation 2021-06-29 16:51:00 +02:00
198.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
200 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
200.out iotests: Derive image names from $TEST_IMG 2020-12-11 17:52:40 +01:00
201 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
201.out
202 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
202.out
203 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
203.out
204 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
204.out qemu-img: Use child access functions 2020-09-07 12:31:31 +02:00
205 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
205.out
206 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
206.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01: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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
208.out
209 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
209.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
210 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
210.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
211 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
211.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
212 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
212.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
213 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
213.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
214 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
214.out
215 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
215.out
216 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
216.out
217 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
217.out
218 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
218.out
219 iotests: 219: prepare for backup over block-copy 2021-01-26 14:36:37 +01:00
219.out
220 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
220.out
221 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
221.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
222 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
222.out
223 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
223.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
224 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
224.out
225 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
225.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
226 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
226.out block: remove support for using "file" driver with block/char devices 2021-03-18 09:22:55 +00:00
227 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
227.out
228 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
228.out block: Leave BDS.backing_{file,format} constant 2020-09-07 12:31:31 +02:00
229 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
229.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
232.out
233 Prefer 'on' | 'off' over 'yes' | 'no' for bool options 2021-01-29 17:07:53 +00:00
233.out
234 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
234.out
235 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01: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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
237.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01: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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
241.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
242 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
242.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
243 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
249.out block: Clarify error messages pertaining to 'node-name' 2021-03-08 14:56:55 +01:00
250 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
250.out
251 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
251.out
252 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
252.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
253 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06: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: 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 iotests/259: Fix reference output 2020-09-02 16:32:14 -05:00
260 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
260.out
261 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
261.out qcow2: introduce icount field for snapshots 2020-10-06 08:34:49 +02:00
262 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
262.out
263 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
263.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
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 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
265.out
266 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
266.out
267 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
267.out block: allow specifying name of block device for vmstate storage 2021-02-08 11:19:51 +00:00
268 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
268.out
270 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
270.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
271 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
271.out iotests: fix some whitespaces in test output files 2021-01-20 14:53:22 -06:00
272 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
272.out
273 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
273.out block: remove 'encryption_key_missing' flag from QAPI 2021-03-18 09:22:55 +00:00
274 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
274.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
277 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
277.out
279 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
279.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
280 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
280.out qcow2: Add the 'extended_l2' option and the QCOW2_INCOMPAT_EXTL2 bit 2020-08-25 09:19:55 +02:00
281 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
281.out
282 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
282.out qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
283 iotests/283: Check that finalize drops backup-top 2021-03-08 14:55:18 +01:00
283.out block: improve permission conflict error message 2021-06-02 14:23:20 +02:00
284 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
284.out iotests: filter few more luks specific create options 2020-07-06 08:33:06 +02:00
286 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
286.out
287 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
287.out iotests: fix some whitespaces in test output files 2021-01-20 14:53:22 -06:00
288 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
288.out
289 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
289.out
290 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
290.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
291 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
291.out qemu-img: Make unallocated part of backing chain obvious in map 2021-07-12 11:10:53 -05:00
292 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
292.out qcow2: Avoid integer wraparound in qcow2_co_truncate() 2020-05-08 13:26:35 +02:00
293 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
293.out iotests: qemu-img tests for luks key management 2020-07-06 08:49:28 +02:00
294 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
294.out iotests: qemu-img tests for luks key management 2020-07-06 08:49:28 +02:00
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/297: add --namespace-packages to mypy arguments 2021-06-01 16:21:21 -04:00
297.out iotests/297: Rewrite in Python and extend reach 2021-01-26 14:36:37 +01:00
298 block: Make blockdev-reopen stable API 2021-07-09 13:19:11 +02:00
298.out iotests: add 298 to test new preallocate filter driver 2020-12-18 12:35:55 +01:00
299 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
299.out iotests: test shutdown when bitmap is exported through NBD 2020-07-17 14:20:57 +02:00
300 python: create qemu packages 2021-06-01 16:21:21 -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 iotests: define group in each iotest 2021-01-20 14:53:22 -06: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: define group in each iotest 2021-01-20 14:53:22 -06: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: define group in each iotest 2021-01-20 14:53:22 -06:00
304.out iotests: add test for unaligned granularity bitmap backup 2020-08-11 09:29:31 +02:00
305 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
305.out qcow2: Fix removal of list members from BDRVQcow2State.cluster_allocs 2020-09-15 11:05:13 +02:00
307 iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" 2021-03-24 14:25:48 +00:00
307.out block: improve permission conflict error message 2021-06-02 14:23:20 +02:00
308 iotests/308: Test +w on read-only FUSE exports 2021-07-09 12:26:05 +02:00
308.out iotests/308: Test +w on read-only FUSE exports 2021-07-09 12:26:05 +02:00
310 iotests: add #310 to test bottom node in COR driver 2021-01-26 14:36:29 +01:00
310.out iotests: add #310 to test bottom node in COR driver 2021-01-26 14:36:29 +01:00
312 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
312.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
313 iotests: Add test for the regression fixed in c8bf9a9169 2021-01-26 14:36:37 +01:00
313.out iotests: Add test for the regression fixed in c8bf9a9169 2021-01-26 14:36:37 +01:00
check qemu-iotests: let "check" spawn an arbitrary test command 2021-05-14 16:14:10 +02:00
common.config
common.filter iotests: make _filter_qom_path more strict 2020-12-18 11:48:39 +01:00
common.nbd
common.pattern
common.qemu iotests: add support for capturing and matching QMP events 2021-02-08 11:19:51 +00:00
common.rc export/fuse: Add allow-other option 2021-07-09 12:26:05 +02:00
common.tls crypto: use a stronger private key for tests 2020-07-17 14:20:57 +02:00
findtests.py iotests: add findtests.py 2021-01-27 20:53:14 +01:00
iotests.py python: create qemu packages 2021-06-01 16:21:21 -04:00
Makefile
meson.build iotests: rewrite check into python 2021-01-27 20:53:14 +01:00
nbd-fault-injector.py iotests: Replace deprecated ConfigParser.readfp() 2020-11-17 12:26:47 +01:00
pylintrc qemu-iotests: fix pylint 2.8 consider-using-with error 2021-05-14 16:14:10 +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
README
socket_scm_helper.c
testenv.py qemu-iotests: fix case of SOCK_DIR already in the environment 2021-05-14 16:14:10 +02:00
testrunner.py qemu-iotests: fix pylint 2.8 consider-using-with error 2021-05-14 16:14:10 +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.