aboutsummaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/common.rc
diff options
context:
space:
mode:
authorHanna Reitz <hreitz@redhat.com>2022-02-16 11:53:55 +0100
committerKevin Wolf <kwolf@redhat.com>2022-03-04 18:18:26 +0100
commit971bea8089531af56b1bbd9ce62e756bdf006711 (patch)
treea877a1ed3171fd079bc24e0a7a937c6b4dd84eda /tests/qemu-iotests/common.rc
parentec88eed8d14088b36a3495710368b8d1a3c33420 (diff)
iotests/graph-changes-while-io: New test
Test the following scenario: 1. Some block node (null-co) attached to a user (here: NBD server) that performs I/O and keeps the node in an I/O thread 2. Repeatedly run blockdev-add/blockdev-del to add/remove an overlay to/from that node Each blockdev-add triggers bdrv_refresh_limits(), and because blockdev-add runs in the main thread, it does not stop the I/O requests. I/O can thus happen while the limits are refreshed, and when such a request sees a temporarily invalid block limit (e.g. alignment is 0), this may easily crash qemu (or the storage daemon in this case). The block layer needs to ensure that I/O requests to a node are paused while that node's BlockLimits are refreshed. Signed-off-by: Hanna Reitz <hreitz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20220216105355.30729-4-hreitz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/qemu-iotests/common.rc')
0 files changed, 0 insertions, 0 deletions