From: Tim Deegan Date: Thu, 18 Jan 2007 16:48:11 +0000 (+0000) Subject: [HVM] Save/restore: Sometimes the hg changeset is not available. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15371^2~133^2~9^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=60e7732ed89d4a6123097d15e570f73e92bacca9;p=xen.git [HVM] Save/restore: Sometimes the hg changeset is not available. Signed-off-by: Tim Deegan --- diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c index 8ea9bbb8a1..c7b56c0111 100644 --- a/xen/arch/x86/hvm/intercept.c +++ b/xen/arch/x86/hvm/intercept.c @@ -210,7 +210,11 @@ int hvm_save(struct vcpu *v, hvm_domain_context_t *h) hvm_put_32u(h, HVM_FILE_VERSION); /* save xen changeset */ - chgset = strrchr(XEN_CHANGESET, ' ') + 1; + chgset = strrchr(XEN_CHANGESET, ' '); + if ( chgset ) + chgset++; + else + chgset = XEN_CHANGESET; len = strlen(chgset); hvm_put_8u(h, len); @@ -303,7 +307,11 @@ int hvm_load(struct vcpu *v, hvm_domain_context_t *h) } /* check xen change set */ - cur_chgset = strrchr(XEN_CHANGESET, ' ') + 1; + cur_chgset = strrchr(XEN_CHANGESET, ' '); + if ( cur_chgset ) + cur_chgset++; + else + cur_chgset = XEN_CHANGESET; len = hvm_get_8u(h); if (len > 20) { /*typical length is 18 -- "revision number:changeset id" */ @@ -317,6 +325,11 @@ int hvm_load(struct vcpu *v, hvm_domain_context_t *h) printk("warnings: try to restore hvm guest(%s) on a different changeset %s.\n", chgset, cur_chgset); + + if ( !strcmp(cur_chgset, "unavailable") ) + printk("warnings: try to restore hvm guest when changeset is unavailable.\n"); + + /* check cpuid */ cpuid(1, &eax, &ebx, &ecx, &edx); ebx = hvm_get_32u(h);