aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl_save_callout.c
diff options
context:
space:
mode:
authorAndrew Cooper <andrew.cooper3@citrix.com>2013-10-10 12:23:10 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-10-10 12:28:21 +0100
commit7051d5c872e3e708b2d4b2088215d6ab1b33de1b (patch)
tree78359bc2523ab1b4e5e506dba98aa81ee09657e0 /tools/libxl/libxl_save_callout.c
parenta825dd6515aa8eab804789ad8bba39df9ca9be08 (diff)
downloadxen-7051d5c872e3e708b2d4b2088215d6ab1b33de1b.tar.gz
xen-7051d5c872e3e708b2d4b2088215d6ab1b33de1b.tar.bz2
xen-7051d5c872e3e708b2d4b2088215d6ab1b33de1b.zip
tools/migrate: Fix regression when migrating from older version of Xen
Commit 00a4b65f8534c9e6521eab2e6ce796ae36037774 Sep 7 2010 "libxc: provide notification of final checkpoint to restore end" broke migration from any version of Xen using tools from prior to that commit Older tools have no idea about an XC_SAVE_ID_LAST_CHECKPOINT, causing newer tools xc_domain_restore() to start reading the qemu save record, as ctx->last_checkpoint is 0. The failure looks like: xc: error: Max batch size exceeded (1970103633). Giving up. where 1970103633 = 0x756d6551 = *(uint32_t*)"Qemu" With this fix in place, the behaviour for normal migrations is reverted to how it was before the regression; the migration is considered non-checkpointed right from the start. A XC_SAVE_ID_LAST_CHECKPOINT chunk seen in the migration stream is a nop. For checkpointed migrations the behaviour is unchanged. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Ian Campbell <Ian.Campbell@citrix.com> CC: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> (Remus bits)
Diffstat (limited to 'tools/libxl/libxl_save_callout.c')
-rw-r--r--tools/libxl/libxl_save_callout.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index f164e98462..6e45b2f047 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -60,7 +60,7 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
state->store_domid, state->console_port,
state->console_domid,
hvm, pae, superpages, no_incr_generationid,
- cbflags,
+ cbflags, dcs->checkpointed_stream,
};
dcs->shs.ao = ao;