To reproduce the problem that this series is trying to fix, do the
following:
- Term 1:
LIBVIRT_DEBUG=2 LIBVIRT_LOG_OUTPUTS='2:stderr' daemon/libvirtd
- Term 2:
virsh undefine $dom
- In term 1 look for:
NOW!!!
- Term 3:
virsh start $dom
- Enjoy:
domain is started, but not in any list (defined nor running)
systemd prevents starting domain with the same name again with:
"error: CreateMachine: File exists", but that's not very descriptive.
Beware: 'make check' fails with this patch!
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/conf/domain_conf.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index a351382..43574e1 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2540,6 +2540,9 @@ void virDomainObjListRemove(virDomainObjListPtr doms,
virObjectRef(dom);
virObjectUnlock(dom);
+ VIR_WARN("NOW!!!");
+ sleep(10);
+
virObjectLock(doms);
virObjectLock(dom);
virHashRemoveEntry(doms->objs, uuidstr);
--
2.1.2