提交 bd579773 编写于 作者: P Peter Krempa

qemu: migration: Refactor hostdev validation in migration check

The hostdev check can error out right away.
上级 584db105
...@@ -1951,7 +1951,6 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm, ...@@ -1951,7 +1951,6 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm,
{ {
int nsnapshots; int nsnapshots;
int pauseReason; int pauseReason;
bool forbid;
size_t i; size_t i;
if (vm) { if (vm) {
...@@ -1995,22 +1994,16 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm, ...@@ -1995,22 +1994,16 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm,
} }
/* Migration with USB host devices is allowed, all other devices are /* Migration with USB host devices is allowed, all other devices are
* forbidden. * forbidden. */
*/
forbid = false;
for (i = 0; i < def->nhostdevs; i++) { for (i = 0; i < def->nhostdevs; i++) {
virDomainHostdevDefPtr hostdev = def->hostdevs[i]; virDomainHostdevDefPtr hostdev = def->hostdevs[i];
if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS ||
hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) { hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) {
forbid = true;
break;
}
}
if (forbid) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s", virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("domain has assigned non-USB host devices")); _("domain has assigned non-USB host devices"));
return false; return false;
} }
}
if (def->cpu && def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH) { if (def->cpu && def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH) {
for (i = 0; i < def->cpu->nfeatures; i++) { for (i = 0; i < def->cpu->nfeatures; i++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册