mirror of https://gitee.com/openkylin/libvirt.git
qemu: Prohibit migration of guests with host devices
Explicitly raising a nice error in the case user tries to migrate a guest with assigned host devices is much better than waiting for a mysterious error with no clue for the reason.
This commit is contained in:
parent
a4d9d98fb0
commit
f93924f465
|
@ -10380,6 +10380,19 @@ static void qemuDomainEventQueue(struct qemud_driver *driver,
|
|||
|
||||
/* Migration support. */
|
||||
|
||||
static bool ATTRIBUTE_NONNULL(1)
|
||||
qemuDomainIsMigratable(virDomainDefPtr def)
|
||||
{
|
||||
if (def->nhostdevs > 0) {
|
||||
qemuReportError(VIR_ERR_OPERATION_INVALID,
|
||||
_("Domain with assigned host devices cannot be migrated"));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* Tunnelled migration stream support */
|
||||
struct qemuStreamMigFile {
|
||||
int fd;
|
||||
|
@ -10709,6 +10722,9 @@ qemudDomainMigratePrepareTunnel(virConnectPtr dconn,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!qemuDomainIsMigratable(def))
|
||||
goto cleanup;
|
||||
|
||||
/* Target domain name, maybe renamed. */
|
||||
if (dname) {
|
||||
VIR_FREE(def->name);
|
||||
|
@ -10976,6 +10992,9 @@ qemudDomainMigratePrepare2 (virConnectPtr dconn,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!qemuDomainIsMigratable(def))
|
||||
goto cleanup;
|
||||
|
||||
/* Target domain name, maybe renamed. */
|
||||
if (dname) {
|
||||
VIR_FREE(def->name);
|
||||
|
|
Loading…
Reference in New Issue