Michal Privoznik wrote:
For some drivers the domain's machine type makes no sense. They
just don't use it. A great example is bhyve driver. Therefore it
makes very less sense to report machine in domain capabilities
XML.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
docs/formatdomaincaps.html.in | 3 ++-
src/conf/domain_capabilities.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in
index 648e3d481..007cab62d 100644
--- a/docs/formatdomaincaps.html.in
+++ b/docs/formatdomaincaps.html.in
@@ -70,7 +70,8 @@
<dt><code>machine</code></dt>
<dd>The domain's <a
href="formatdomain.html#elementsOSBIOS">machine
- type</a>.</dd>
+ type</a>. Since not every hypervisor has a sense of machine types
+ this element might be omitted in such drivers.</dd>
<dt><code>arch</code></dt>
<dd>The domain's <a
href="formatdomain.html#elementsOSBIOS">
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index bb6742359..7a3d2e6fb 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -527,7 +527,8 @@ virDomainCapsFormatInternal(virBufferPtr buf,
virBufferEscapeString(buf, "<path>%s</path>\n",
caps->path);
virBufferAsprintf(buf, "<domain>%s</domain>\n",
virttype_str);
- virBufferAsprintf(buf, "<machine>%s</machine>\n",
caps->machine);
+ if (caps->machine)
+ virBufferAsprintf(buf, "<machine>%s</machine>\n",
caps->machine);
virBufferAsprintf(buf, "<arch>%s</arch>\n", arch_str);
if (caps->maxvcpus)
This looks reasonable to me, ACK.
Roman Bogorodskiy