qemu/tests/qemu-iotests
Kevin Wolf ac2ae233a0 block: Introduce bdrv_schedule_unref()
bdrv_unref() is called by a lot of places that need to hold the graph
lock (it naturally happens in the context of operations that change the
graph). However, bdrv_unref() takes the graph writer lock internally, so
it can't actually be called while already holding a graph lock without
causing a deadlock.

bdrv_unref() also can't just become GRAPH_WRLOCK because it drains the
node before closing it, and draining requires that the graph is
unlocked.

The solution is to defer deleting the node until we don't hold the lock
any more and draining is possible again.

Note that keeping images open for longer than necessary can create
problems, too: You can't open an image again before it is really closed
(if image locking didn't prevent it, it would cause corruption).
Reopening an image immediately happens at least during bdrv_open() and
bdrv_co_create().

In order to solve this problem, make sure to run the deferred unref in
bdrv_graph_wrunlock(), i.e. the first possible place where we can drain
again. This is also why bdrv_schedule_unref() is marked GRAPH_WRLOCK.

The output of iotest 051 is updated because the additional polling
changes the order of HMP output, resulting in a new "(qemu)" prompt in
the test output that was previously on a separate line and filtered out.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20230911094620.45040-6-kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-09-20 17:46:01 +02:00
..
sample_images iotests: add parallels-read-bitmap test 2021-03-08 14:56:55 +01:00
tests iotests: Add test for data_off check 2023-09-06 17:36:49 +02: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 Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01: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 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 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 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 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
029.out
030 iotests: rebase qemu_io() on top of qemu_tool() 2022-04-25 14:30:27 +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 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: update test owner contact information 2022-03-29 16:30:55 +02: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: update test owner contact information 2022-03-29 16:30:55 +02:00
039.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
040 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
040.out iotests: Test committing to overridden backing 2020-09-08 13:40:53 +02:00
041 iotests: Fix status checks 2022-03-29 16:30:55 +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: 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 tests/: spelling fixes 2023-09-08 13:08:52 +03: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 cutils: Use parse_uint in qemu_strtosz for negative rejection 2023-06-02 12:29:27 -05: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 block: Refactor get_tmp_filename() 2022-10-27 20:13:32 +02:00
051.out monitor: do not use mb_read/mb_set for suspend_cnt 2023-05-25 10:18:33 +02:00
051.pc.out block: Introduce bdrv_schedule_unref() 2023-09-20 17:46:01 +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: Don't check qemu_io() output for specific error strings 2022-04-25 14:30:04 +02: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 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
059.out iotests/059: Fix reference output 2020-09-02 16:32:14 -05:00
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 tests/: spelling fixes 2023-09-08 13:08:52 +03: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 iotests: Avoid cp/mv of test images 2020-01-06 13:43:07 +01:00
064 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
064.out
065 qemu-img: Let info print block graph 2023-02-01 16:52:33 +01: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 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
070 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
070.out
071 tests/: spelling fixes 2023-09-08 13:08:52 +03: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 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
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 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 qemu-img: omit errno value in error message 2023-09-08 17:03:09 +02:00
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 iotests/083: Create socket in $SOCK_DIR 2019-10-28 11:22:31 +01:00
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 iotests: Make 091 work with data_file 2020-01-06 13:43:07 +01:00
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 iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
098 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
098.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
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/106, 214, 308: Read only one size line 2023-02-01 16:52:33 +01:00
106.out
107 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
107.out
108 tests/qemu-iotests: skip 108 when FUSE is not loaded 2022-07-12 12:14:56 +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 iotests: adapt test output for new qemu_cleanup() behavior 2023-09-08 17:03:09 +02:00
110 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
110.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
111 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
111.out block: Error if backing file fails during creation without -u 2020-07-14 15:18:59 +02:00
112 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
112.out qemu-img: omit errno value in error message 2023-09-08 17:03:09 +02:00
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 qcow2: Make preallocate_co() resize the image to the correct size 2020-09-15 11:30:36 +02:00
126 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
126.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02:00
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: Fix test 131 after repair was added to parallels_open() 2023-09-06 17:36:49 +02:00
131.out iotests: Fix test 131 after repair was added to parallels_open() 2023-09-06 17:36:49 +02:00
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: 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 iotests: Make 137 work with data_file 2020-01-06 13:43:07 +01:00
138 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
138.out iotests/138: Test leaks/corruptions fixed report 2020-03-26 14:52:43 +01:00
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: rebase qemu_io() on top of qemu_tool() 2022-04-25 14:30:27 +02: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 iotests/151: Test active requests on mirror start 2022-11-10 13:33:57 +01:00
151.out iotests/151: Test active requests on mirror start 2022-11-10 13:33:57 +01: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 iotests: Add iothread cases to 155 2020-03-11 15:54:38 +01:00
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 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: 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/163: Fix broken qemu-io invocation 2022-04-25 14:30:03 +02: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 tests/qemu-iotests/172: Run QEMU with -vga none and -nic none 2023-05-22 09:44:48 +02:00
172.out block: add missed block_acct_setup with new block device init procedure 2022-09-30 18:42:34 +02: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 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 cutils: Use parse_uint in qemu_strtosz for negative rejection 2023-06-02 12:29:27 -05:00
178.out.raw cutils: Use parse_uint in qemu_strtosz for negative rejection 2023-06-02 12:29:27 -05: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 docs tests: Fix use of migrate_set_parameter 2023-09-08 13:08:52 +03: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: adapt test output for new qemu_cleanup() behavior 2023-09-08 17:03:09 +02:00
185.out iotests: adapt test output for new qemu_cleanup() behavior 2023-09-08 17:03:09 +02:00
186 tests/qemu-iotests: Require virtio-scsi-pci 2023-02-14 09:11:27 +01: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: update test owner contact information 2022-03-29 16:30:55 +02:00
192.out iotests/192: Create socket in $SOCK_DIR 2019-10-28 11:22:31 +01:00
194 iotests: fix 194: filter out racy postcopy-active event 2023-06-07 08:36:55 -07:00
194.out iotests: fix 194: filter out racy postcopy-active event 2023-06-07 08:36:55 -07: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: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
196.out
197 trivial patches for 2023-09-08 2023-09-08 10:06:25 -04:00
197.out qemu-iotests/197: use more generic commands for formats other than qcow2 2023-09-07 20:32:02 -05:00
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 qemu-img: Use child access functions 2020-09-07 12:31:31 +02:00
205 iotests: rebase qemu_io() on top of qemu_tool() 2022-04-25 14:30:27 +02: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 iotests/106, 214, 308: Read only one size line 2023-02-01 16:52:33 +01:00
214.out tests/qemu-iotests: add case to write compressed data of multiple clusters 2020-01-06 13:43:07 +01:00
215 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
215.out
216 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
216.out
217 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
217.out
218 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
218.out
219 iotests: 219: prepare for backup over block-copy 2021-01-26 14:36:37 +01:00
219.out blockdev: unify qmp_drive_backup and drive-backup transaction paths 2020-01-27 17:19:53 +01:00
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/223: check new possibility of exporting bitmaps by node/name 2022-04-26 13:15:56 -05:00
223.out tests/qemu-iotests: hotfix for 307, 223 output 2022-07-12 12:14:56 +02:00
224 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
224.out
225 iotests: update test owner contact information 2022-03-29 16:30:55 +02: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 block: add accounting for zone append operation 2023-05-15 08:18:10 -04:00
228 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
228.out block: Leave BDS.backing_{file,format} constant 2020-09-07 12:31:31 +02:00
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: replace calls to log(qemu_io(...)) with qemu_io_log() 2022-04-25 14:30:02 +02: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: omit errno value in error message 2023-09-08 17:03:09 +02:00
245 iotests/245: Check if 'compress' driver is available 2023-05-19 19:12:12 +02:00
245.out iotests/245: Check if 'compress' driver is available 2023-05-19 19:12:12 +02: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 calls to log(qemu_io(...)) with qemu_io_log() 2022-04-25 14:30:02 +02:00
255.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
256 iotests: Make verify_virtio_scsi_pci_or_ccw() public 2023-05-30 17:29:44 +02: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: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +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 iotests/259: Fix reference output 2020-09-02 16:32:14 -05:00
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 qcow2: introduce icount field for snapshots 2020-10-06 08:34:49 +02:00
262 tests/qemu-iotests/262: Check for availability of "blkverify" first 2023-01-24 18:26:41 +01: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 tests/qemu-iotests/264: Allow up to 5s for the BLOCK_JOB_CANCEL event to arrive 2022-08-07 18:51:35 +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 iotests: 266: Convert to VM.blockdev_create() 2019-12-19 14:32:43 +01:00
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 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 iotests: Add test for 4G+ compressed qcow2 write 2019-11-07 14:37:46 +01:00
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 iotests: Test NBD client reconnection 2019-11-18 16:01:31 -06:00
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: 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 qemu-img: Flush stdout before before potential stderr messages 2020-07-14 15:18:59 +02:00
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 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 iotests: Test snapshot -l field separation 2020-02-20 16:43:42 +01:00
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 iotests: add 288 luks qemu-img measure test 2020-03-11 12:42:29 +01:00
289 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
289.out iotests/026: Move v3-exclusive test to new file 2020-03-24 12:05:31 +01:00
290 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
290.out iotests: Specify explicit backing format where sensible 2020-07-14 15:18:59 +02: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 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 tests/: spelling fixes 2023-09-08 13:08:52 +03: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 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 qemu-img: Change info key names for protocol nodes 2023-02-01 16:52:33 +01:00
303 iotests: replace calls to log(qemu_io(...)) with qemu_io_log() 2022-04-25 14:30:02 +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 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/307: Test iothread conflict for exports 2021-07-20 16:49:50 +02:00
307.out tests/qemu-iotests: hotfix for 307, 223 output 2022-07-12 12:14:56 +02:00
308 iotests/308: Add test for 'write -zu' 2023-03-10 15:14:46 +01:00
308.out iotests/308: Add test for 'write -zu' 2023-03-10 15:14:46 +01:00
310 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
310.out iotests: add #310 to test bottom node in COR driver 2021-01-26 14:36:29 +01:00
312 tests/qemu-iotests/312: Mark "quorum" as required driver 2023-01-24 18:26:41 +01: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 iotests: strip subdir path when listing tests 2023-03-22 15:08:26 +00:00
common.filter iotests: Fix test 104 under NBD 2023-06-02 11:24:18 -05:00
common.nbd iotests: Let common.nbd create socket in $SOCK_DIR 2019-10-28 11:22:31 +01:00
common.pattern iotests/common.pattern: Quote echos 2020-04-07 13:51:09 +02:00
common.qemu qemu-iotests: add gdbserver option to script tests too 2021-09-01 12:57:31 +02:00
common.rc iotests: Fix test 104 under NBD 2023-06-02 11:24:18 -05: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: Make verify_virtio_scsi_pci_or_ccw() public 2023-05-30 17:29:44 +02:00
linters.py iotests/linters: Add workaround for mypy bug #9852 2021-11-01 11:54:59 -04:00
Makefile
meson.build build: move sanitizer tests to meson 2023-05-18 08:53:52 +02:00
mypy.ini iotests/297: Have mypy ignore unused ignores 2022-07-12 13:55:24 +02:00
nbd-fault-injector.py iotests: Replace deprecated ConfigParser.readfp() 2020-11-17 12:26:47 +01:00
pylintrc tests/: spelling fixes 2023-09-08 13:08:52 +03: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
testenv.py iotests: allow test discovery before building 2023-03-22 15:08:26 +00:00
testrunner.py iotests: always use a unique sub-directory per test 2023-03-22 15:08:26 +00: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.