[libvirt] [PATCH 00/21] Make migration APIs more extensible

Michal Privoznik mprivozn at redhat.com
Thu Jun 20 08:42:11 UTC 2013


On 18.06.2013 16:05, Jiri Denemark wrote:
> Current migration APIs support a fixed set of optional parameters and
> whenever there is a need for a new parameter, a whole bunch of new
> internal and external APIs have to be introduced. This patch set
> introduces new extensible APIs that use virTypedParameters for passing
> optional parameters to a migration protocol. Thus making it possible to
> introduce new parameters without the need for new APIs.
> 
> The first 7 patches provide some basic infrastructure needed by the
> following patches. Patches 8 to 19 add support for the new extensible
> APIs and patches 20 and 21 make use of the new APIs to introduce
> additional migration parameter.
> 
> Have fun.
> 
> Jiri Denemark (21):
>   1  Rename virTypedParameterArrayValidate as virTypedParamsValidate
>   2  util: Emit proper error code in virTypedParamsValidate
>   3  Introduce virTypedParamsCheck internal API
>   4  Introduce virTypedParamsReplaceString internal API
>   5  Introduce VIR_TYPED_PARAMS_DEBUG macro for dumping typed params
>   6  Log input type parameters in API entry points
>   7  Introduce virTypedParamsCopy internal API
>   8  Introduce migration parameters
>   9  New internal migration APIs with extensible parameters
>   10 Implement extensible migration APIs in remote driver
>   11 Implement extensible migration APIs in qemu driver
>   12 qemu: Move internals of Begin phase to qemu_migration.c
>   13 qemu: Move internals of Prepare phase to qemu_migration.c
>   14 qemu: Move internals of Confirm phase to qemu_migration.c
>   15 Adapt virDomainMigrateVersion3 for extensible migration APIs
>   16 Adapt virDomainMigratePeer2Peer for extensible migration APIs
>   17 Extensible migration APIs
>   18 python: Add bindings for extensible migration APIs
>   19 virsh: Use extensible migration APIs
>   20 Introduce VIR_MIGRATE_PARAM_GRAPHICS_URI parameter
>   21 qemu: Implement support for VIR_MIGRATE_PARAM_GRAPHICS_URI
> 
>  daemon/remote.c                 |  331 ++++++++++++-
>  docs/apibuild.py                |   11 +-
>  docs/hvsupport.pl               |    7 +
>  include/libvirt/libvirt.h.in    |   87 ++++
>  python/generator.py             |    2 +
>  python/libvirt-override-api.xml |   18 +
>  python/libvirt-override.c       |  218 +++++++++
>  src/driver.h                    |   67 +++
>  src/esx/esx_driver.c            |   24 +-
>  src/libvirt.c                   | 1022 ++++++++++++++++++++++++++++++++++-----
>  src/libvirt_internal.h          |   59 +++
>  src/libvirt_private.syms        |   14 +-
>  src/libvirt_public.syms         |    6 +
>  src/libxl/libxl_driver.c        |   12 +-
>  src/lxc/lxc_driver.c            |   40 +-
>  src/nodeinfo.c                  |   16 +-
>  src/openvz/openvz_driver.c      |   16 +-
>  src/qemu/qemu_driver.c          |  633 ++++++++++++------------
>  src/qemu/qemu_migration.c       |  730 ++++++++++++++++++++--------
>  src/qemu/qemu_migration.h       |   45 +-
>  src/remote/remote_driver.c      |  398 +++++++++++++++
>  src/remote/remote_protocol.x    |   96 +++-
>  src/remote_protocol-structs     |  107 ++++
>  src/test/test_driver.c          |    8 +-
>  src/util/virtypedparam.c        |  163 ++++++-
>  src/util/virtypedparam.h        |   36 +-
>  src/xen/xen_hypervisor.c        |   12 +-
>  tools/virsh-domain.c            |   88 +++-
>  tools/virsh.pod                 |   18 +-
>  29 files changed, 3548 insertions(+), 736 deletions(-)
> 

I've not spotted anything obviously wrong in the patch set. But see my
inline comments to patches. Esp. in 05/21 please do report OOM error for
virAsprintf (I know I promised virAsprintf to report OOM error and I got
patches ready, but haven't posted yet).

ACK series

Michal




More information about the libvir-list mailing list