[libvirt] [PATCHv3 31/36] qemu: monitor: Add support for backing name specification for block-stream

Eric Blake eblake at redhat.com
Tue Jun 3 04:02:57 UTC 2014


On 05/30/2014 02:37 AM, Peter Krempa wrote:
> To allow changing the name that is recorded in the top of the current
> image chain used in a block pull/rebase operation, we need to specify
> the backing name to qemu. This is done via the "backing-file" attribute
> to the block-stream commad.

s/commad/command/

> ---
>  src/qemu/qemu_driver.c       |  8 ++++----
>  src/qemu/qemu_migration.c    |  6 +++---
>  src/qemu/qemu_monitor.c      | 12 +++++++-----
>  src/qemu/qemu_monitor.h      |  3 ++-
>  src/qemu/qemu_monitor_json.c | 15 +++++++++++++++
>  src/qemu/qemu_monitor_json.h |  1 +
>  6 files changed, 32 insertions(+), 13 deletions(-)
> 

Again, I think the qemu_capability.[ch] change is needed as a separate
commit; but you can get away with the same capability for both
block-commit and block-pull since both commands are learning the feature
in the same qemu series.  Not sure if the capability needs to come
first, or if you have it later in the series.

This patch is okay (although this and 30/36 should probably wait until
Jeff's series is actually committed into qemu.git).


> @@ -3759,6 +3759,7 @@ int
>  qemuMonitorJSONBlockJob(qemuMonitorPtr mon,

> +
> +    if (backingName && mode != BLOCK_JOB_PULL) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                       _("backing name is supported only for block pull"));
> +        return -1;
> +    }

[side note - I honestly don't know why we tried to cram so much into
qemuMonitorJSONBlockJob through the entire stack; it might have been
simpler to have one qemu_monitor.h entry point per QMP command, rather
than trying to multiplex.  But it may not be worth the refactor now]

If these were separate functions instead of multiplexed through a mode
argument, then you wouldn't need a check like this (since the check will
never fail unless we introduce a bug in qemu_driver.c).

ACK

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140602/c00f0eb8/attachment-0001.sig>


More information about the libvir-list mailing list