mirror: fix request throttling in drive-mirror
There are 2 deficiencies here:
- mirror_iteration could start several requests inside. Thus we could
simply have more in_flight requests than MAX_IN_FLIGHT.
- keeping this in mind throttling in mirror_run which is checking
s->in_flight == MAX_IN_FLIGHT is wrong.
The patch adds the check and throttling into mirror_iteration and fixes
the check in mirror_run() to be sure.
Signed-off-by: Denis V. Lunev <[email protected]>
Reviewed-by: Max Reitz <[email protected]>
Message-id:
1466598927[email protected]
CC: Jeff Cody <[email protected]>
CC: Kevin Wolf <[email protected]>
CC: Max Reitz <[email protected]>
Signed-off-by: Jeff Cody <[email protected]>
(cherry picked from commit
e648dc95c28fbca12e67be26a1fc4b9a0676c3fe)