mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-10-15 15:32:51 +00:00
blockjob: let ratelimit handle a speed of 0
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Message-Id: <20210614081130.22134-4-eesposit@redhat.com> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
This commit is contained in:
parent
ca657c99e6
commit
c02b83ed1f
13
blockjob.c
13
blockjob.c
|
@ -300,10 +300,6 @@ bool block_job_set_speed(BlockJob *job, int64_t speed, Error **errp)
|
||||||
|
|
||||||
int64_t block_job_ratelimit_get_delay(BlockJob *job, uint64_t n)
|
int64_t block_job_ratelimit_get_delay(BlockJob *job, uint64_t n)
|
||||||
{
|
{
|
||||||
if (!job->speed) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ratelimit_calculate_delay(&job->limit, n);
|
return ratelimit_calculate_delay(&job->limit, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -472,12 +468,9 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver,
|
||||||
blk_set_disable_request_queuing(blk, true);
|
blk_set_disable_request_queuing(blk, true);
|
||||||
blk_set_allow_aio_context_change(blk, true);
|
blk_set_allow_aio_context_change(blk, true);
|
||||||
|
|
||||||
/* Only set speed when necessary to avoid NotSupported error */
|
if (!block_job_set_speed(job, speed, errp)) {
|
||||||
if (speed != 0) {
|
job_early_fail(&job->job);
|
||||||
if (!block_job_set_speed(job, speed, errp)) {
|
return NULL;
|
||||||
job_early_fail(&job->job);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return job;
|
return job;
|
||||||
|
|
Loading…
Reference in a new issue