qemu/tests/qemu-iotests
Eric Blake 2dcbb11b39 nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS
Allow a client to request a subset of negotiated meta contexts.  For
example, a client may ask to use a single connection to learn about
both block status and dirty bitmaps, but where the dirty bitmap
queries only need to be performed on a subset of the disk; forcing the
server to compute that information on block status queries in the rest
of the disk is wasted effort (both at the server, and on the amount of
traffic sent over the wire to be parsed and ignored by the client).

Qemu as an NBD client never requests to use more than one meta
context, so it has no need to use block status payloads.  Testing this
instead requires support from libnbd, which CAN access multiple meta
contexts in parallel from a single NBD connection; an interop test
submitted to the libnbd project at the same time as this patch
demonstrates the feature working, as well as testing some corner cases
(for example, when the payload length is longer than the export
length), although other corner cases (like passing the same id
duplicated) requires a protocol fuzzer because libnbd is not wired up
to break the protocol that badly.

This also includes tweaks to 'qemu-nbd --list' to show when a server
is advertising the capability, and to the testsuite to reflect the
addition to that output.

Of note: qemu will always advertise the new feature bit during
NBD_OPT_INFO if extended headers have alreay been negotiated
(regardless of whether any NBD_OPT_SET_META_CONTEXT negotiation has
occurred); but for NBD_OPT_GO, qemu only advertises the feature if
block status is also enabled (that is, if the client does not
negotiate any contexts, then NBD_CMD_BLOCK_STATUS cannot be used, so
the feature is not advertised).

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-ID: <20230925192229.3186470-26-eblake@redhat.com>
[eblake: fix logic to reject unnegotiated contexts]
Signed-off-by: Eric Blake <eblake@redhat.com>
2023-10-05 11:02:08 -05:00
..
sample_images iotests: add parallels-read-bitmap test 2021-03-08 14:56:55 +01:00
tests nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS 2023-10-05 11:02:08 -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
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 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
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 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
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/: spelling fixes 2023-09-08 13:08:52 +03: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 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
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
055 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
055.out
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
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
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
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
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 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
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/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
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 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: map: report compressed data blocks 2023-09-20 17:46:01 +02: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
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 tests: extend test 131 to cover availability of the write-zeroes 2023-09-21 08:49:28 +02:00
131.out tests: extend test 131 to cover availability of the write-zeroes 2023-09-21 08:49:28 +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
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: map: report compressed data blocks 2023-09-20 17:46:01 +02: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: map: report compressed data blocks 2023-09-20 17:46:01 +02: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/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
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 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: map: report compressed data blocks 2023-09-20 17:46:01 +02: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
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: 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
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
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 qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02: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
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
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: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
223 iotests/223: check new possibility of exporting bitmaps by node/name 2022-04-26 13:15:56 -05:00
223.out nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS 2023-10-05 11:02:08 -05: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
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
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 nbd/client: Request extended headers during negotiation 2023-10-05 11:02:08 -05: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 nbd/client: Request extended headers during negotiation 2023-10-05 11:02:08 -05: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: map: report compressed data blocks 2023-09-20 17:46:01 +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: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
253 iotests: define group in each iotest 2021-01-20 14:53:22 -06:00
253.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02: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
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
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
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 qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02: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 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
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
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 nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS 2023-10-05 11:02:08 -05: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
common.pattern
common.qemu qemu-iotests: add gdbserver option to script tests too 2021-09-01 12:57:31 +02:00
common.rc iotests: use TEST_IMG_FILE instead of TEST_IMG in _require_large_file 2023-09-22 17:12:54 -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: Remove --enable-gprof 2023-10-04 11:03:54 -07: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.py
qcow2_format.py
qed.py
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.