
Yes,In qemuxml2argvtest case, mymain call qemuTestDriverInit to init qemu driver, qemuTestDriverInit call mkdtemp() to init stateDir, so stateDir is randomly. But '-monitor' part of the command line must be a const value. Can I use a const value "/tmp/lib" to instead of random value at qemuxml2argvtest? -----邮件原件----- 发件人: Michal Privoznik [mailto:mprivozn@redhat.com] 发送时间: 2017年10月27日 0:17 收件人: Caoxinhua; libvir-list@redhat.com; jferlan@redhat.com; mkletzan@redhat.com; berrange@redhat.com 抄送: Yanqiangjun; Huangweidong (C); Wangjing (King, Euler); weifuqiang 主题: Re: [libvirt] [PATCH v2] qemu: change monitor.sock from /var/lib/libvirt/qemu/domain-*** to /var/run/libvirt/qemu/domain-*** On 10/16/2017 04:08 AM, xinhua.Cao wrote:
directory /var/lib alway is Persistence directory, but in redhat system, /var/run is memory directory. our running domain xml is saved at /var/run/libvirt/qemu. so if we cold reset system, the /var/run/libvirt/qemu directory is clear, but /var/lib/libvirt/qemu/domain-*** is saved. so there have same /var/lib/libvirt/qemu/domain-*** directory will be left over at system cold reset. --- src/qemu/qemu_domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index ed27a91..3e6fe9b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1674,7 +1674,7 @@ qemuDomainSetPrivatePaths(virQEMUDriverPtr driver, goto cleanup;
if (!priv->libDir && - virAsprintf(&priv->libDir, "%s/domain-%s", cfg->libDir, domname) < 0) + virAsprintf(&priv->libDir, "%s/domain-%s", cfg->stateDir, + domname) < 0) goto cleanup;
if (!priv->channelTargetDir &&
Almost. I see a problem with this patch. Problem is that qemuxml2argvtest needs to be updated. Which is not trivial because state dir is a tempdir (mkdtemp()), and thus '-monitor' part of the command line changes with each test invocation. Michal