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@xxxxxxxxxx> --- 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) -- 2.11.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list