qemu-e2k/tests/qemu-iotests
Hanna Reitz 9ffd6d646d iotests/108: Test new refcount rebuild algorithm
One clear problem with how qcow2's refcount structure rebuild algorithm
used to be before "qcow2: Improve refcount structure rebuilding" was
that it is prone to failure for qcow2 images on block devices: There is
generally unused space after the actual image, and if that exceeds what
one refblock covers, the old algorithm would invariably write the
reftable past the block device's end, which cannot work.  The new
algorithm does not have this problem.

Test it with three tests:
(1) Create an image with more empty space at the end than what one
    refblock covers, see whether rebuilding the refcount structures
    results in a change in the image file length.  (It should not.)

(2) Leave precisely enough space somewhere at the beginning of the image
    for the new reftable (and the refblock for that place), see whether
    the new algorithm puts the reftable there.  (It should.)

(3) Test the original problem: Create (something like) a block device
    with a fixed size, then create a qcow2 image in there, write some
    data, and then have qemu-img check rebuild the refcount structures.
    Before HEAD^, the reftable would have been written past the image
    file end, i.e. outside of what the block device provides, which
    cannot work.  HEAD^ should have fixed that.
    ("Something like a block device" means a loop device if we can use
    one ("sudo -n losetup" works), or a FUSE block export with
    growable=false otherwise.)

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220405134652.19278-3-hreitz@redhat.com>
2022-04-20 12:09:17 +02:00
..
sample_images iotests: add parallels-read-bitmap test 2021-03-08 14:56:55 +01:00
tests iotests: add qemu_img_map() function 2022-03-22 10:14:34 +01: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
018 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
018.out
019 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
019.out
020 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
020.out
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
025 iotests: update test owner contact information 2022-03-29 16:30:55 +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: update test owner contact information 2022-03-29 16:30:55 +02:00
027.out
028 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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 iotests: Fix status checks 2022-03-29 16:30:55 +02:00
030.out
031 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
031.out
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
035 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
035.out
036 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
036.out
037 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
037.out
038 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
038.out
039 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
039.out
040 tests/qemu-iotests/040: Skip TestCommitWithFilters without 'throttle' 2022-03-07 09:19:20 +01:00
040.out
041 iotests: Fix status checks 2022-03-29 16:30:55 +02:00
041.out
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
044 iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
044.out iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
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 qapi: Improve input_type_enum()'s error message 2021-10-27 17:17:28 +02:00
050 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
050.out
051 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
051.out iotests: fix 051.out expected output after error text touchups 2021-03-29 14:13:55 +02:00
051.pc.out iotests/051: Fix typo 2021-10-15 16:06:23 +02:00
052 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
055 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
055.out
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: update test owner contact information 2022-03-29 16:30:55 +02:00
059.out
060 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
060.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
061 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
061.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
062 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
062.out
063 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
063.out
064 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
064.out
065 iotests/065: Check for zstd support 2022-04-20 10:14:05 +02:00
065.out
066 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
066.out
068 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
068.out
069 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
069.out
070 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
070.out
071 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
071.out
072 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
072.out
073 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
073.out
074 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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
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 iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
083 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
083.out
084 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
084.out
085 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
085.out block: Fail gracefully when blockdev-snapshot creates loops 2021-11-02 13:02:46 +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: update test owner contact information 2022-03-29 16:30:55 +02:00
089.out iotests: Use convert -n in some cases 2020-12-11 17:52:40 +01:00
090 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
090.out
091 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02:00
094.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
095 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02:00
097.out
098 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
098.out
099 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
099.out
101 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
101.out
102 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
102.out iotests/102: Pass $QEMU_HANDLE to _send_qemu_cmd 2020-12-18 12:47:37 +01:00
103 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
103.out
104 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
104.out
105 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
105.out
106 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
106.out
107 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
107.out
108 iotests/108: Test new refcount rebuild algorithm 2022-04-20 12:09:17 +02:00
108.out iotests/108: Test new refcount rebuild algorithm 2022-04-20 12:09:17 +02:00
109 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
109.out job: @force parameter for job_cancel_sync() 2021-10-07 10:42:09 +02:00
110 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
110.out
111 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
111.out
112 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
112.out
113 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02:00
119.out
120 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
120.out
121 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
121.out
122 iotests: Test qemu-img convert of zeroed data cluster 2022-01-14 12:03:16 +01:00
122.out qemu-img: make is_allocated_sectors() more efficient 2022-01-14 12:03:16 +01:00
123 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
123.out
124 block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
124.out
125 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
125.out
126 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
126.out
127 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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 pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +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
134 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
134.out
135 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
135.out
136 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
136.out
137 iotests: massive use _qcow2_dump_header 2022-02-01 10:51:39 +01:00
137.out
138 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02:00
140.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
141 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
141.out blockjob: drop BlockJob.blk field 2021-12-28 15:18:59 +01:00
142 file-posix: Fix alignment after reopen changing O_DIRECT 2021-11-16 11:30:29 +01:00
142.out file-posix: Fix alignment after reopen changing O_DIRECT 2021-11-16 11:30:29 +01:00
143 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
143.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
144 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02: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/149: Remove qemu_img_pipe() call 2022-03-22 10:14:37 +01:00
149.out iotests/149: Remove qemu_img_pipe() call 2022-03-22 10:14:37 +01:00
150 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
150.out.qcow2
150.out.raw
151 block/mirror: fix active mirror dead-lock in mirror_wait_on_conflicts 2021-07-20 13:14:45 +02:00
151.out iotest 151: add test-case that shows active mirror dead-lock 2021-07-20 13:14:45 +02:00
152 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
152.out
153 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02: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
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: update test owner contact information 2022-03-29 16:30:55 +02:00
162.out util: include the target address in socket connect failures 2020-10-29 09:57:37 +00:00
163 iotests: Remove explicit checks for qemu_img() == 0 2022-03-22 10:14:25 +01:00
163.out
165 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01: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 hw/isa/isa-bus: Remove isabus_dev_print() 2022-03-08 19:38:17 +01:00
173 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02:00
176.out
177 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
177.out
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: update test owner contact information 2022-03-29 16:30:55 +02: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: Add post-READY quit tests 2022-03-04 18:14:40 +01:00
185.out iotests/185: Add post-READY quit tests 2022-03-04 18:14:40 +01: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
189 block: BDRV_O_NO_IO for backing file on creation 2021-06-29 16:51:00 +02:00
189.out
190 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
190.out
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: update test owner contact information 2022-03-29 16:30:55 +02:00
192.out
194 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01: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
196 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
196.out
197 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
197.out
198 block: BDRV_O_NO_IO for backing file on creation 2021-06-29 16:51:00 +02:00
198.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
200 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
202.out
203 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
203.out
204 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
204.out
205 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
205.out
206 iotests: Use aes-128-cbc 2021-11-23 15:39:12 +01:00
206.out iotests.py: filter compression type out 2022-02-01 10:51:39 +01:00
207 iotests/207: Filter host fingerprint 2022-03-22 10:50:10 +01:00
207.out iotests/207: Filter host fingerprint 2022-03-22 10:50:10 +01:00
208 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
208.out
209 iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
209.out iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
210 iotests.py: img_info_log(): rename imgopts argument 2022-02-01 10:51:39 +01:00
210.out iotests: Use aes-128-cbc 2021-11-23 15:39:12 +01:00
211 iotests: add qemu_img_map() function 2022-03-22 10:14:34 +01:00
211.out iotests: add qemu_img_map() function 2022-03-22 10:14:34 +01: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 iotest 214: explicit compression type 2022-02-01 10:51:39 +01:00
214.out
215 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
215.out
216 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
216.out
217 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
217.out
218 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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
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: update test owner contact information 2022-03-29 16:30:55 +02:00
224.out
225 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
225.out
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: update test owner contact information 2022-03-29 16:30:55 +02:00
228.out
229 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
229.out iotests: Fix _send_qemu_cmd with bash 5.1 2020-12-18 12:47:38 +01:00
231 iotests: update test owner contact information 2022-03-29 16:30:55 +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 tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK 2022-03-07 17:13:31 -06:00
233.out tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK 2022-03-07 17:13:31 -06:00
234 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
234.out
235 iotests: add 'qemu' package location to PYTHONPATH in testenv 2021-10-06 10:25:55 +02:00
235.out
236 block: remove 'dirty-bitmaps' field from 'BlockInfo' struct 2021-03-18 09:22:55 +00:00
236.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
237 iotests: remove remaining calls to qemu_img_pipe() 2022-03-22 10:14:38 +01:00
237.out iotests: remove remaining calls to qemu_img_pipe() 2022-03-22 10:14:38 +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 tests/qemu-iotests: introduce filter for qemu-nbd export list 2022-03-07 17:12:45 -06:00
241.out tests/qemu-iotests: introduce filter for qemu-nbd export list 2022-03-07 17:12:45 -06:00
242 iotests: make qemu_img_log and img_info_log raise on error 2022-03-22 10:39:36 +01:00
242.out iotests.py: filter compression type out 2022-02-01 10:51:39 +01: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 iotests: Test blockdev-reopen with iothreads and throttling 2022-02-11 09:44:16 +01:00
245.out iotests: Test blockdev-reopen with iothreads and throttling 2022-02-11 09:44:16 +01:00
246 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01: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: update test owner contact information 2022-03-29 16:30:55 +02:00
250.out
251 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
251.out
252 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
254.out block: remove dirty bitmaps 'status' field 2021-03-18 09:22:55 +00:00
255 iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
255.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
256 iotests: iothreads need ioeventfd 2021-03-24 14:25:48 +00:00
256.out
257 iotests: make qemu_img raise on non-zero rc by default 2022-03-22 10:14:26 +01:00
257.out block: copy-before-write: realize snapshot-access API 2022-03-07 09:33:31 +01:00
258 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
258.out iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
259 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
259.out
260 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
260.out
261 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
261.out
262 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
262.out
263 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
263.out
264 mirror: stop cancelling in-flight requests on non-force cancel in READY 2021-05-14 16:14:10 +02:00
264.out iotests/264: add backup-cancel test-case 2021-02-12 12:19:46 -06:00
265 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
265.out
266 iotests: make qemu_img_log and img_info_log raise on error 2022-03-22 10:39:36 +01: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
271 tests/qemu-iotests: Rework the checks and spots using GNU sed 2022-03-04 18:18:26 +01:00
271.out qcow2: handle_dependencies(): relax conflict detection 2021-09-15 15:54:07 +02: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: drop BLK_PERM_GRAPH_MOD 2022-01-14 12:03:16 +01:00
274 iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
274.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01: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
280 iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
280.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
281 iotests/281: Let NBD connection yield in iothread 2022-02-11 14:06:18 +01:00
281.out iotests/281: Let NBD connection yield in iothread 2022-02-11 14:06:18 +01:00
282 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
282.out
283 blockjob: drop BlockJob.blk field 2021-12-28 15:18:59 +01:00
283.out blockjob: drop BlockJob.blk field 2021-12-28 15:18:59 +01:00
284 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
284.out
286 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
286.out
287 iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01: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: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
290.out
292 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
292.out
293 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
293.out
294 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
294.out
295 iotests: Drop deprecated 'props' from object-add 2021-03-08 14:55:18 +01:00
295.out qemu-iotests: do not buffer the test output 2021-05-14 16:14:10 +02:00
296 iotests: remove remaining calls to qemu_img_pipe() 2022-03-22 10:14:38 +01:00
296.out crypto: perform permission checks under BQL 2022-03-04 18:14:39 +01:00
297 iotests: split linters.py out from 297 2021-11-01 11:54:59 -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
300 iotests/300: avoid abnormal shutdown race condition 2021-11-01 11:54:59 -04:00
300.out qemu-iotests: 300: Add test case for modifying persistence of bitmap 2021-02-12 15:32:04 -06:00
301 qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
301.out qemu-img: Require -F with -b backing image 2021-07-09 13:18:32 +02:00
302 iotest 302: use img_info_log() helper 2022-02-01 10:51:39 +01:00
302.out iotest 302: use img_info_log() helper 2022-02-01 10:51:39 +01:00
303 iotests/303: Check for zstd support 2022-04-20 10:14:08 +02:00
303.out iotest 303: explicit compression type 2022-02-01 10:51:39 +01:00
304 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
304.out
305 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
305.out
307 iotests/307: Test iothread conflict for exports 2021-07-20 16:49:50 +02:00
307.out iotests/307: Test iothread conflict for exports 2021-07-20 16:49:50 +02:00
308 iotests/308: Fix for CAP_DAC_OVERRIDE 2022-01-14 12:03:16 +01:00
308.out iotests/308: Fix for CAP_DAC_OVERRIDE 2022-01-14 12:03:16 +01:00
310 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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 check-block: replace -makecheck with TAP output 2022-01-28 11:13:33 +01:00
common.config
common.filter tests/qemu-iotests: Use GNU sed in two more spots where it is necessary 2022-03-22 09:40:54 +01:00
common.nbd
common.pattern
common.qemu qemu-iotests: add gdbserver option to script tests too 2021-09-01 12:57:31 +02:00
common.rc iotests: Write test output to TEST_DIR 2022-03-07 09:32:28 +01:00
common.tls tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK 2022-03-07 17:13:31 -06:00
findtests.py iotests: add findtests.py 2021-01-27 20:53:14 +01:00
iotests.py iotests.py: Add supports_qcow2_zstd_compression() 2022-04-20 10:13:31 +02:00
linters.py iotests/linters: Add workaround for mypy bug #9852 2021-11-01 11:54:59 -04:00
Makefile
meson.build tests/qemu-iotests: Move the bash and sanitizer checks to meson.build 2022-04-20 09:46:54 +02:00
mypy.ini iotests/297: Split mypy configuration out into mypy.ini 2021-11-01 11:54:59 -04:00
nbd-fault-injector.py iotests: Replace deprecated ConfigParser.readfp() 2020-11-17 12:26:47 +01:00
pylintrc iotests/297: Move pylint config into pylintrc 2021-11-01 11:54:59 -04:00
qcow2_format.py
qcow2.py
qed.py
README
testenv.py tests: add (riscv virt) machine mapping to testenv 2022-03-22 09:40:54 +01:00
testrunner.py tests/qemu-iotests/testrunner: Supply a test plan in TAP mode 2022-03-22 09:40:54 +01: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.