Clarify direct migration

When --direct is used when migrating a domain running on a hypervisor
that does not support direct migration (such as QEMU), the caller would
get the following error message:

    this function is not supported by the connection driver:
    virDomainMigrateToURI2

which is a complete nonsense since qemu driver implements
virDomainMigrateToURI2. This patch would emit a more sensible error in
this case:

    Requested operation is not valid: direct migration is not supported
    by the connection driver
This commit is contained in:
Jiri Denemark 2012-07-12 15:27:18 +02:00
parent efe6c80211
commit 3189dfb163
2 changed files with 9 additions and 2 deletions

View File

@ -5562,7 +5562,9 @@ virDomainMigrateToURI (virDomainPtr domain,
goto error;
} else {
/* Cannot do a migration with only the perform step */
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
virLibConnError(VIR_ERR_OPERATION_INVALID, "%s",
_("direct migration is not supported by the"
" connection driver"));
goto error;
}
}
@ -5696,7 +5698,9 @@ virDomainMigrateToURI2(virDomainPtr domain,
goto error;
} else {
/* Cannot do a migration with only the perform step */
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
virLibConnError(VIR_ERR_OPERATION_INVALID, "%s",
_("direct migration is not supported by the"
" connection driver"));
goto error;
}
}

View File

@ -990,6 +990,9 @@ is implicitly enabled when supported by the hypervisor, but can be explicitly
used to reject the migration if the hypervisor lacks change protection
support. I<--verbose> displays the progress of migration.
B<Note>: Individual hypervisors usually do not support all possible types of
migration. For example, QEMU does not support direct migration.
In some cases libvirt may refuse to migrate the domain because doing so may
lead to potential problems such as data corruption, and thus the migration is
considered unsafe. For QEMU domain, this may happen if the domain uses disks