Re: [libvirt] [PATCH 15/18] qemu_process: generate vnc unix socket in qemuProcessPrepareDomain
On 04/04/2016 09:20 AM, Pavel Hrdina wrote: > Move generation of vnc unix socket to qemuProcessPrepareDomain which is > the correct place to do those things. Now we can also test it. > > Signed-off-by: Pavel Hrdina> --- > src/qemu/qemu_command.c| 20 - > src/qemu/qemu_command.h| 3 +- > src/qemu/qemu_process.c| 20 +++-- > ...qemuxml2argv-graphics-vnc-auto-unix-socket.args | 22 ++ > .../qemuxml2argv-graphics-vnc-auto-unix-socket.xml | 34 > ++ > tests/qemuxml2argvtest.c | 4 +++ > 6 files changed, 84 insertions(+), 19 deletions(-) > create mode 100644 > tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.args > create mode 100644 > tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.xml > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 9335f63..67d3336 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -7219,8 +7219,7 @@ static int > qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, > virCommandPtr cmd, > virQEMUCapsPtr qemuCaps, > -virDomainGraphicsDefPtr graphics, > -const char *domainLibDir) > +virDomainGraphicsDefPtr graphics) > { > virBuffer opt = VIR_BUFFER_INITIALIZER; > virDomainGraphicsListenDefPtr listen = NULL; > @@ -7235,14 +7234,8 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr > cfg, > goto error; > } > > -if (graphics->data.vnc.socket || cfg->vncAutoUnixSocket) { > -if (!graphics->data.vnc.socket && > -virAsprintf(>data.vnc.socket, > -"%s/vnc.sock", domainLibDir) == -1) > -goto error; > - > +if (graphics->data.vnc.socket) { > virBufferAsprintf(, "unix:%s", graphics->data.vnc.socket); > - > } else { > if (!graphics->data.vnc.autoport && > (graphics->data.vnc.port < 5900 || > @@ -7613,8 +7606,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, > virCommandPtr cmd, > virDomainDefPtr def, > virQEMUCapsPtr qemuCaps, > - virDomainGraphicsDefPtr graphics, > - const char *domainLibDir) > + virDomainGraphicsDefPtr graphics) > { > switch ((virDomainGraphicsType) graphics->type) { > case VIR_DOMAIN_GRAPHICS_TYPE_SDL: > @@ -7646,8 +7638,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, > break; > > case VIR_DOMAIN_GRAPHICS_TYPE_VNC: > -return qemuBuildGraphicsVNCCommandLine(cfg, cmd, qemuCaps, > - graphics, domainLibDir); > +return qemuBuildGraphicsVNCCommandLine(cfg, cmd, qemuCaps, graphics); > > case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: > return qemuBuildGraphicsSPICECommandLine(cfg, cmd, qemuCaps, > graphics); > @@ -9199,7 +9190,6 @@ qemuBuildCommandLine(virConnectPtr conn, > virBitmapPtr nodeset, > size_t *nnicindexes, > int **nicindexes, > - const char *domainLibDir, > const char *domainChannelTargetDir) > { > size_t i; > @@ -9360,7 +9350,7 @@ qemuBuildCommandLine(virConnectPtr conn, > > for (i = 0; i < def->ngraphics; ++i) { > if (qemuBuildGraphicsCommandLine(cfg, cmd, def, qemuCaps, > - def->graphics[i], domainLibDir) < 0) > + def->graphics[i]) < 0) > goto error; > } > > diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h > index 7c13d45..677fc05 100644 > --- a/src/qemu/qemu_command.h > +++ b/src/qemu/qemu_command.h > @@ -74,10 +74,9 @@ virCommandPtr qemuBuildCommandLine(virConnectPtr conn, > virBitmapPtr nodeset, > size_t *nnicindexes, > int **nicindexes, > - const char *domainLibDir, > const char *domainChannelTargetDir) > ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(11) > -ATTRIBUTE_NONNULL(17) ATTRIBUTE_NONNULL(18); > +ATTRIBUTE_NONNULL(17); > > /* Generate '-device' string for chardev device */ > int > diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c > index 6a4fb8c..cfd8a90 100644 > --- a/src/qemu/qemu_process.c > +++ b/src/qemu/qemu_process.c > @@ -4957,6 +4957,7 @@ qemuProcessPrepareDomain(virConnectPtr conn, > size_t i; > char *nodeset = NULL; > qemuDomainObjPrivatePtr
Re: [libvirt] [PATCH 15/18] qemu_process: generate vnc unix socket in qemuProcessPrepareDomain
On Mon, Apr 04, 2016 at 03:20:32PM +0200, Pavel Hrdina wrote: > Move generation of vnc unix socket to qemuProcessPrepareDomain which is > the correct place to do those things. Now we can also test it. > > Signed-off-by: Pavel Hrdina> --- > src/qemu/qemu_command.c| 20 - > src/qemu/qemu_command.h| 3 +- > src/qemu/qemu_process.c| 20 +++-- > ...qemuxml2argv-graphics-vnc-auto-unix-socket.args | 22 ++ > .../qemuxml2argv-graphics-vnc-auto-unix-socket.xml | 34 > ++ > tests/qemuxml2argvtest.c | 4 +++ > 6 files changed, 84 insertions(+), 19 deletions(-) > create mode 100644 > tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.args > create mode 100644 > tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.xml > ACK Jan -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 15/18] qemu_process: generate vnc unix socket in qemuProcessPrepareDomain
Move generation of vnc unix socket to qemuProcessPrepareDomain which is the correct place to do those things. Now we can also test it. Signed-off-by: Pavel Hrdina--- src/qemu/qemu_command.c| 20 - src/qemu/qemu_command.h| 3 +- src/qemu/qemu_process.c| 20 +++-- ...qemuxml2argv-graphics-vnc-auto-unix-socket.args | 22 ++ .../qemuxml2argv-graphics-vnc-auto-unix-socket.xml | 34 ++ tests/qemuxml2argvtest.c | 4 +++ 6 files changed, 84 insertions(+), 19 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.xml diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9335f63..67d3336 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7219,8 +7219,7 @@ static int qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, virCommandPtr cmd, virQEMUCapsPtr qemuCaps, -virDomainGraphicsDefPtr graphics, -const char *domainLibDir) +virDomainGraphicsDefPtr graphics) { virBuffer opt = VIR_BUFFER_INITIALIZER; virDomainGraphicsListenDefPtr listen = NULL; @@ -7235,14 +7234,8 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, goto error; } -if (graphics->data.vnc.socket || cfg->vncAutoUnixSocket) { -if (!graphics->data.vnc.socket && -virAsprintf(>data.vnc.socket, -"%s/vnc.sock", domainLibDir) == -1) -goto error; - +if (graphics->data.vnc.socket) { virBufferAsprintf(, "unix:%s", graphics->data.vnc.socket); - } else { if (!graphics->data.vnc.autoport && (graphics->data.vnc.port < 5900 || @@ -7613,8 +7606,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, virCommandPtr cmd, virDomainDefPtr def, virQEMUCapsPtr qemuCaps, - virDomainGraphicsDefPtr graphics, - const char *domainLibDir) + virDomainGraphicsDefPtr graphics) { switch ((virDomainGraphicsType) graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_SDL: @@ -7646,8 +7638,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, break; case VIR_DOMAIN_GRAPHICS_TYPE_VNC: -return qemuBuildGraphicsVNCCommandLine(cfg, cmd, qemuCaps, - graphics, domainLibDir); +return qemuBuildGraphicsVNCCommandLine(cfg, cmd, qemuCaps, graphics); case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: return qemuBuildGraphicsSPICECommandLine(cfg, cmd, qemuCaps, graphics); @@ -9199,7 +9190,6 @@ qemuBuildCommandLine(virConnectPtr conn, virBitmapPtr nodeset, size_t *nnicindexes, int **nicindexes, - const char *domainLibDir, const char *domainChannelTargetDir) { size_t i; @@ -9360,7 +9350,7 @@ qemuBuildCommandLine(virConnectPtr conn, for (i = 0; i < def->ngraphics; ++i) { if (qemuBuildGraphicsCommandLine(cfg, cmd, def, qemuCaps, - def->graphics[i], domainLibDir) < 0) + def->graphics[i]) < 0) goto error; } diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 7c13d45..677fc05 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -74,10 +74,9 @@ virCommandPtr qemuBuildCommandLine(virConnectPtr conn, virBitmapPtr nodeset, size_t *nnicindexes, int **nicindexes, - const char *domainLibDir, const char *domainChannelTargetDir) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(11) -ATTRIBUTE_NONNULL(17) ATTRIBUTE_NONNULL(18); +ATTRIBUTE_NONNULL(17); /* Generate '-device' string for chardev device */ int diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6a4fb8c..cfd8a90 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4957,6 +4957,7 @@ qemuProcessPrepareDomain(virConnectPtr conn, size_t i; char *nodeset = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; +virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); virCapsPtr caps; if (!(caps = virQEMUDriverGetCapabilities(driver, false))) @@ -4996,6 +4997,22 @@ qemuProcessPrepareDomain(virConnectPtr conn, if