mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 06:05:27 +00:00
qemu: Forbid migration of machines with I/O errors
Such machine can't be successuflly migrated unles the I/O error has recovered and might lead to data corruption. Forbid this kind of migration.
This commit is contained in:
parent
caa467db62
commit
5f719f217e
@ -1423,6 +1423,7 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm,
|
||||
virDomainDefPtr def, bool remote)
|
||||
{
|
||||
int nsnapshots;
|
||||
int pauseReason;
|
||||
bool forbid;
|
||||
int i;
|
||||
|
||||
@ -1445,6 +1446,15 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm,
|
||||
nsnapshots);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* cancel migration if disk I/O error is emitted while migrating */
|
||||
if (virDomainObjGetState(vm, &pauseReason) == VIR_DOMAIN_PAUSED &&
|
||||
pauseReason == VIR_DOMAIN_PAUSED_IOERROR) {
|
||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("cannot migrate domain with I/O error"));
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (virDomainHasDiskMirror(vm)) {
|
||||
|
Loading…
Reference in New Issue
Block a user