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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list