• D
    Fix the signature of virDomainMigrateFinish3 for error reporting · 2593f969
    Daniel P. Berrange 提交于
    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
    2593f969
libvirt_internal.h 7.7 KB