Browse Source
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 6fccbb475b,
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>
pull/72/head
committed by
Kevin Wolf
2 changed files with 54 additions and 2 deletions
@ -1,5 +1,5 @@ |
|||
........ |
|||
.......... |
|||
---------------------------------------------------------------------- |
|||
Ran 8 tests |
|||
Ran 10 tests |
|||
|
|||
OK |
|||
|
|||
Loading…
Reference in new issue