提交 cd9d439a 编写于 作者: C Cole Robinson

conf: Sync caps data even when SKIP_OSTYPE_CHECKS

We should still make an effort to fill in data, just not raise
an error if say an ostype/virttype combo disappeared from caps.
Acked-by: NMichal Privoznik <mprivozn@redhat.com>
Signed-off-by: NCole Robinson <crobinso@redhat.com>
上级 b251d6ad
......@@ -19178,19 +19178,20 @@ virDomainDefParseCaps(virDomainDefPtr def,
goto cleanup;
}
if (!(flags & VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS)) {
if (!(capsdata = virCapabilitiesDomainDataLookup(caps,
def->os.type, def->os.arch, def->virtType,
NULL, NULL)))
if (!(capsdata = virCapabilitiesDomainDataLookup(caps, def->os.type,
def->os.arch,
def->virtType,
NULL, NULL))) {
if (!(flags & VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS))
goto cleanup;
virResetLastError();
} else {
if (!def->os.arch)
def->os.arch = capsdata->arch;
if ((!def->os.machine &&
VIR_STRDUP(def->os.machine, capsdata->machinetype) < 0)) {
VIR_STRDUP(def->os.machine, capsdata->machinetype) < 0))
goto cleanup;
}
}
ret = 0;
cleanup:
......
......@@ -6,7 +6,7 @@
<currentMemory unit='KiB'>219100</currentMemory>
<vcpu placement='static' cpuset='1'>1</vcpu>
<os>
<type arch='i686'>hvm</type>
<type arch='alpha'>hvm</type>
<boot dev='hd'/>
</os>
<clock offset='utc'/>
......
......@@ -2773,6 +2773,9 @@ mymain(void)
QEMU_CAPS_OBJECT_GPEX,
QEMU_CAPS_NEC_USB_XHCI);
/* VM XML has invalid arch/ostype/virttype combo, but the SKIP flag
* will avoid the error. Still, we expect qemu driver to complain about
* missing machine error, and not crash */
DO_TEST_PARSE_FLAGS_ERROR("missing-machine",
VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS,
NONE);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册