[libvirt] [PATCH] qemu: Do not require hostuuid in migration cookie
Michal Privoznik
mprivozn at redhat.com
Fri Oct 19 14:53:38 UTC 2012
On 19.10.2012 16:31, Jiri Denemark wrote:
> Having hostuuid in migration cookie is a nice bonus since it provides an
> easy way of detecting migration to the same host. However, requiring it
> breaks backward compatibility with older libvirt releases.
> ---
> src/qemu/qemu_migration.c | 31 ++++++++++++++++---------------
> 1 file changed, 16 insertions(+), 15 deletions(-)
>
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index a2402ce..487182e 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -576,22 +576,23 @@ qemuMigrationCookieXMLParse(qemuMigrationCookiePtr mig,
> }
>
> if (!(tmp = virXPathString("string(./hostuuid[1])", ctxt))) {
> - virReportError(VIR_ERR_INTERNAL_ERROR,
> - "%s", _("missing hostuuid element in migration data"));
> - goto error;
> - }
> - if (virUUIDParse(tmp, mig->remoteHostuuid) < 0) {
> - virReportError(VIR_ERR_INTERNAL_ERROR,
> - "%s", _("malformed hostuuid element in migration data"));
> - goto error;
> - }
> - if (memcmp(mig->remoteHostuuid, mig->localHostuuid, VIR_UUID_BUFLEN) == 0) {
> - virReportError(VIR_ERR_INTERNAL_ERROR,
> - _("Attempt to migrate guest to the same host %s"),
> - tmp);
> - goto error;
> + VIR_WARN("Missing hostuuid element in migration data; cannot "
> + "detect migration to the same host");
> + } else {
> + if (virUUIDParse(tmp, mig->remoteHostuuid) < 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("malformed hostuuid element in migration data"));
> + goto error;
> + }
> + if (memcmp(mig->remoteHostuuid, mig->localHostuuid,
> + VIR_UUID_BUFLEN) == 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("Attempt to migrate guest to the same host %s"),
> + tmp);
> + goto error;
> + }
> + VIR_FREE(tmp);
> }
> - VIR_FREE(tmp);
>
> /* Check to ensure all mandatory features from XML are also
> * present in 'flags' */
>
ACK
Michal
More information about the libvir-list
mailing list