diff --git a/src/libvirt.c b/src/libvirt.c index ce1221b9b2..e144ab0253 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -5685,7 +5685,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; } } @@ -5819,7 +5821,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; } } diff --git a/tools/virsh.pod b/tools/virsh.pod index 3bb5b10037..c8833e0305 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -869,6 +869,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: 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