Hi Peter,
Thanks for your reply.
>On Sat, Jul 22, 2017 at 04:55:49 -0400, Yi Wang wrote:
>> Start a domain whilst undefine it, if starting failed duing ProcessLaunch,
>> on which period qemu exited unexpectedly, the operation will lead to failure
>> of undefine the domain until libvirtd restarted. The reason is that libvirtd
>> will unlock vm during qemuProcessStart, qemuDomainUndefineFlags can get the
>> lock and set vm->persistent 0 but not remove the "active" domain.
>
>Shouldn't the startup code handle that? It definitely works when
>starting a transient domain, so making it transient while the startup
>code is executed should be the same case.
>
>Since we copy the definition prior to startup, there really should not
>be any problem in making the VM transient while it's being started.
Yeah, it is allowed to make VM transient during being started, but the problem
is that if the situation I described above occurs, we can't undefine that VM until
libvirtd restarted.
More details have been introduced in another thread [1], please review that piece :)
As discussed with John in that thread, I suppose a whole new patch instead of a
V2 version is better.
Thanks again :)
[1] https://www.redhat.com/archives/libvir-list/2017-July/msg00762.html
---
Best wishes
Yi Wang