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