[adding libvirt]
On 03/24/2014 09:47 AM, Paolo Bonzini wrote:
Il 24/03/2014 14:04, arei.gonglei(a)huawei.com ha scritto:
> From: zengjunliang <zengjunliang(a)huawei.com>
>
> Return error for migrate cancel, when migration status is not
> MIG_STATE_SETUP or MIG_STATE_ACTIVE. Thus, libvirt can can
> perceive the operation fails.
>
> Signed-off-by: zengjunliang <zengjunliang(a)huawei.com>
> Signed-off-by: Gonglei <arei.gonglei(a)huawei.com>
I think this is done on purpose, because canceling migration is racy.
Instead, libvirt should do "query-migrate" and check if the migration
was completed or canceled.
Can you please give more details at how you are triggering the problem
with libvirt? I think Paolo is probably right - the bug is more likely
to be in libvirt not expecting the race and not recovering correctly
when the race occurs, than it is to be in changing qemu's state algorithm.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org