]> git.ipfire.org Git - thirdparty/qemu.git/commit
block/create: Make x-blockdev-create a job
authorKevin Wolf <kwolf@redhat.com>
Thu, 18 Jan 2018 13:33:04 +0000 (14:33 +0100)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 May 2018 11:31:07 +0000 (13:31 +0200)
commite5ab4347f9f53495e31fcef5e232c7c6be4a0567
tree4c99eca3b82db0c154e9f6a8ae19ad0385f9c04e
parent1266c9b9f5fa05877b979eece5963a2bd99c3bfd
block/create: Make x-blockdev-create a job

This changes the x-blockdev-create QMP command so that it doesn't block
the monitor and the main loop any more, but starts a background job that
performs the image creation.

The basic job as implemented here is all that is necessary to make image
creation asynchronous and to provide a QMP interface that can be marked
stable, but it still lacks a few features that jobs usually provide: The
job will ignore pause commands and it doesn't publish more than very
basic progress yet (total-progress is 1 and current-progress advances
from 0 to 1 when the driver callbacks returns). These features can be
added later without breaking compatibility.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
block/create.c
qapi/block-core.json
qapi/job.json
tests/qemu-iotests/group