On Tue, Apr 09, 2013 at 19:05:28 +0200, Michal Privoznik wrote: > It's not desired to force users imagine path for a socket they > are not even supposed to connect to. On the other hand, we > already have a release where the qemu agent socket path is > exposed to XML, so we cannot silently drop it from there. > The new path is generated in form: > > $LOCALSTATEDIR/lib/libvirt/qemu/channel/target/$domain.$name > --- > libvirt.spec.in | 1 + > src/Makefile.am | 1 + > src/conf/domain_conf.c | 34 ++++++++++++++++------------------ > src/qemu/qemu_domain.c | 16 ++++++++++++++++ > 4 files changed, 34 insertions(+), 18 deletions(-) ... > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c > index 3d6eef4..967890f 100644 > --- a/src/qemu/qemu_domain.c > +++ b/src/qemu/qemu_domain.c > @@ -738,6 +738,22 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, > (def->os.arch == VIR_ARCH_S390 || def->os.arch == VIR_ARCH_S390X)) > dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO; > > + /* auto generate unix socket path */ > + if (dev->type == VIR_DOMAIN_DEVICE_CHR && > + dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL && > + dev->data.chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO && > + dev->data.chr->source.type == VIR_DOMAIN_CHR_TYPE_UNIX && > + !dev->data.chr->source.data.nix.path && > + (cfg || (driver && (cfg = virQEMUDriverGetConfig(driver))))) { I think this should fail if path is NULL and (cfg || (driver && (cfg = virQEMUDriverGetConfig(driver)))) is not true. On the other hand, do we actually need to check for this? Aren't both cfg and driver guaranteed to be non-NULL at this point? > + > + if (virAsprintf(&dev->data.chr->source.data.nix.path, > + "%s/channel/target/%s.%s", > + cfg->libDir, def->name, > + dev->data.chr->target.name) < 0) > + goto no_memory; > + dev->data.chr->source.data.nix.listen = true; > + } > + > ret = 0; > > cleanup: Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list