summaryrefslogtreecommitdiff
path: root/qemu-img.c
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2015-11-02 18:28:20 -0500
committerKevin Wolf <kwolf@redhat.com>2015-11-11 16:25:47 +0100
commit62547b8a1c04daf30f50e3db362ade53e22bf222 (patch)
tree459afde597d4e97dae7996bafcc77aad92b4e5d2 /qemu-img.c
parent95334230637cef9fbd199bb79a56271ec73d4732 (diff)
downloadqemu-62547b8a1c04daf30f50e3db362ade53e22bf222.tar.gz
qemu-62547b8a1c04daf30f50e3db362ade53e22bf222.tar.bz2
qemu-62547b8a1c04daf30f50e3db362ade53e22bf222.zip
qemu-img: add check for zero-length job len
The mirror job doesn't update its total length until it has already started running, so we should translate a zero-length job-len as meaning 0%. Otherwise, we may get divide-by-zero faults. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Jeff Cody <jcody@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-img.c')
-rw-r--r--qemu-img.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/qemu-img.c b/qemu-img.c
index 3025776e14..9831db75ef 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -656,7 +656,8 @@ static void run_block_job(BlockJob *job, Error **errp)
do {
aio_poll(aio_context, true);
- qemu_progress_print((float)job->offset / job->len * 100.f, 0);
+ qemu_progress_print(job->len ?
+ ((float)job->offset / job->len * 100.f) : 0.0f, 0);
} while (!job->ready);
block_job_complete_sync(job, errp);