There is no need to do this in every implementation of set_speed (even though there is only one right now).
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- block.c | 8 +++++++- block/stream.c | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/block.c b/block.c index f244f99..3b6065b 100644 --- a/block.c +++ b/block.c @@ -4065,10 +4065,16 @@ void block_job_complete(BlockJob *job, int ret) int block_job_set_speed(BlockJob *job, int64_t value) { + int rc; + if (!job->job_type->set_speed) { return -ENOTSUP; } - return job->job_type->set_speed(job, value); + rc = job->job_type->set_speed(job, value); + if (rc == 0) { + job->speed = value; + } + return rc; } void block_job_cancel(BlockJob *job) diff --git a/block/stream.c b/block/stream.c index f186bfd..61ff7a2 100644 --- a/block/stream.c +++ b/block/stream.c @@ -236,7 +236,6 @@ static int stream_set_speed(BlockJob *job, int64_t value) if (value < 0) { return -EINVAL; } - job->speed = value; ratelimit_set_speed(&s->limit, value / BDRV_SECTOR_SIZE); return 0; } -- 1.7.9.1