[libvirt] [PATCH 2/2] qemu: Forbid migration of machines with I/O errors
Michal Privoznik
mprivozn at redhat.com
Tue Jun 11 12:05:19 UTC 2013
On 11.06.2013 11:49, Peter Krempa wrote:
> 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.
> ---
> src/qemu/qemu_migration.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index 8e57521..97daaa0 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -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)) {
>
Do we want to document this behaviour change?
Michal
More information about the libvir-list
mailing list