[libvirt] [PATCH 1/5] Fix formatting of XML for an inactive guest
Daniel Veillard
veillard at redhat.com
Fri Nov 13 09:26:05 UTC 2009
On Thu, Nov 12, 2009 at 03:00:47PM +0000, Daniel P. Berrange wrote:
> If the virDomainDefPtr object has an 'id' of -1, then forcably
> set the VIR_DOMAIN_XML_INACTIVE flag to ensure generated XML
> does not include any cruft from the previously running guest
> such as console PTY path, or VNC port.
>
> * src/conf/domain_conf.c: Set VIR_DOMAIN_XML_INACTIVE if
> def->id is -1. Replace checks for def->id == -1 with
> check against flags & VIR_DOMAIN_XML_INACTIVE.
> ---
> src/conf/domain_conf.c | 10 ++++++----
> 1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 9e37452..c2c07ca 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -4407,7 +4407,6 @@ virDomainInputDefFormat(virConnectPtr conn,
> static int
> virDomainGraphicsDefFormat(virConnectPtr conn,
> virBufferPtr buf,
> - virDomainDefPtr vm,
> virDomainGraphicsDefPtr def,
> int flags)
> {
> @@ -4424,7 +4423,7 @@ virDomainGraphicsDefFormat(virConnectPtr conn,
> switch (def->type) {
> case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
> if (def->data.vnc.port &&
> - (!def->data.vnc.autoport || vm->id != -1))
> + (!def->data.vnc.autoport || !(flags & VIR_DOMAIN_XML_INACTIVE)))
> virBufferVSprintf(buf, " port='%d'",
> def->data.vnc.port);
> else if (def->data.vnc.autoport)
> @@ -4579,7 +4578,10 @@ char *virDomainDefFormat(virConnectPtr conn,
> goto cleanup;
> }
>
> - if (def->id >= 0)
> + if (def->id == -1)
> + flags |= VIR_DOMAIN_XML_INACTIVE;
> +
> + if (!(flags & VIR_DOMAIN_XML_INACTIVE))
> virBufferVSprintf(&buf, "<domain type='%s' id='%d'>\n", type, def->id);
> else
> virBufferVSprintf(&buf, "<domain type='%s'>\n", type);
> @@ -4770,7 +4772,7 @@ char *virDomainDefFormat(virConnectPtr conn,
> goto cleanup;
>
> for (n = 0 ; n < def->ngraphics ; n++)
> - if (virDomainGraphicsDefFormat(conn, &buf, def, def->graphics[n], flags) < 0)
> + if (virDomainGraphicsDefFormat(conn, &buf, def->graphics[n], flags) < 0)
> goto cleanup;
> }
>
ACK
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list