On Wed, Jan 06, 2016 at 05:50:57PM +0100, Martin Kletzander wrote: > If user defines a virtio channel with UNIX socket backend and doesn't > care about the path for the socket (e.g. qemu-agent channel), we still > generate it into the persistent XML. Moreover when then user renames > the domain, due to its persistent socket path saved into the per-domain > directory, it will not start. So let's forget about old generated paths > and also stop putting them into the persistent definition. > > https://bugzilla.redhat.com/show_bug.cgi?id=1278068 > > Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> > --- > src/qemu/qemu_command.c | 12 ++++++++++++ > src/qemu/qemu_domain.c | 21 +++++++++++---------- > .../qemuxml2argv-channel-virtio-unix.args | 5 ++++- > .../qemuxml2argv-channel-virtio-unix.xml | 4 ++++ > 4 files changed, 31 insertions(+), 11 deletions(-) > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 66ca11152ad8..c5127cfa04f9 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -10510,6 +10510,18 @@ qemuBuildCommandLine(virConnectPtr conn, > goto error; > } > > + if (channel->source.type == VIR_DOMAIN_CHR_TYPE_UNIX && > + !channel->source.data.nix.path) { > + if (virAsprintf(&channel->source.data.nix.path, > + "%s/domain-%s/%s", > + cfg->channelTargetDir, def->name, > + channel->target.name ? channel->target.name > + : "unknown.sock") < 0) > + goto error; > + > + channel->source.data.nix.listen = true; > + } > + I don't like this. The qemuBuildCommandLine function should only create a command line, not modify the domain definition. I know, there are other places, that do the same, but let's try to avoid it. > if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SPICEVMC) && > channel->source.type == VIR_DOMAIN_CHR_TYPE_SPICEVMC) { > /* spicevmc was originally introduced via a -device > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c [...] Otherwise it looks good. Pavel -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list