summary refs log tree commit diff stats
path: root/hw/usb/dev-storage.c
diff options
context:
space:
mode:
authorAlberto Garcia <berto@igalia.com>2018-08-02 17:50:23 +0300
committerKevin Wolf <kwolf@redhat.com>2018-08-15 12:50:39 +0200
commitef7a6a3c2a7725b169d054aa7487f9738bd6c4a6 (patch)
tree5a753c244aab646df4da696fe32c75d3a0b86126 /hw/usb/dev-storage.c
parentf62492bb8d1ea7f7e156ffbdf411de46107072c5 (diff)
downloadfocaccia-qemu-ef7a6a3c2a7725b169d054aa7487f9738bd6c4a6.tar.gz
focaccia-qemu-ef7a6a3c2a7725b169d054aa7487f9738bd6c4a6.zip
qemu-iotests: Test removing a throttle group member with a pending timer
A throttle group can have several members, and each one of them can
have several pending requests in the queue.

The requests are processed in a round-robin fashion, so the algorithm
decides the drive that is going to run the next request and sets a
timer in it. Once the timer fires and the throttled request is run
then the next drive from the group is selected and a new timer is set.

If the user tried to remove a drive from a group and that drive had a
timer set then the code was not taking care of setting up a new timer
in one of the remaining members of the group, freezing their I/O.

This problem was fixed in 6fccbb475bc6effc313ee9481726a1748b6dae57,
and this patch adds a new test case that reproduces this exact
scenario.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/usb/dev-storage.c')
0 files changed, 0 insertions, 0 deletions