[libvirt] [PATCH 9/9] Fix the signature of virDomainMigrateFinish3 for error reporting

Matthias Bolte matthias.bolte at googlemail.com
Wed May 25 09:24:57 UTC 2011


2011/5/24 Daniel P. Berrange <berrange at redhat.com>:
> The current virDomainMigrateFinish3 method signature attempts to
> distinguish two types of errors, by allowing return with ret== 0,
> but ddomain == NULL, to indicate a failure to start the guest.
> This is flawed, because when ret == 0, there is no way for the
> virErrorPtr details to be sent back to the client.
>
> Change the signature of virDomainMigrateFinish3 so it simply
> returns a virDomainPtr, in the same way as virDomainMigrateFinish2
> The disk locking code will protect against the only possible
> failure mode this doesn't account for (loosing conenctivity to
> libvirtd after Finish3 starts the CPUs, but before the client
> sees the reply for Finish3).
>
> * src/driver.h, src/libvirt.c, src/libvirt_internal.h: Change
>  virDomainMigrateFinish3 to return a virDomainPtr instead of int
> * src/remote/remote_driver.c, src/remote/remote_protocol.x,
>  daemon/remote.c, src/qemu/qemu_driver.c, src/qemu/qemu_migration.c:
>  Update for API change
> ---
>  daemon/remote.c              |   35 ++++++++---------------------------
>  src/driver.h                 |    5 ++---
>  src/libvirt.c                |   41 ++++++++++++++++++++---------------------
>  src/libvirt_internal.h       |   21 ++++++++++-----------
>  src/qemu/qemu_driver.c       |   21 +++++++++------------
>  src/qemu/qemu_migration.c    |   19 ++++++++++---------
>  src/remote/remote_driver.c   |   29 ++++-------------------------
>  src/remote/remote_protocol.x |    2 +-
>  8 files changed, 64 insertions(+), 109 deletions(-)
>

ACK.

Matthias




More information about the libvir-list mailing list