From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v3 26/28] tools/libxl: Handle checkpoint records in a libxl migration v2 stream Date: Tue, 14 Jul 2015 11:35:55 +0100 Message-ID: <55A4E60B.2030504@citrix.com> References: <1436788907-1921-1-git-send-email-andrew.cooper3@citrix.com> <1436788907-1921-27-git-send-email-andrew.cooper3@citrix.com> <55A4E588.7010103@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55A4E588.7010103@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Yang Hongyang , Xen-devel Cc: Wei Liu , Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org On 14/07/15 11:33, Yang Hongyang wrote: > On 07/13/2015 08:01 PM, Andrew Cooper wrote: > [...] >> domcreate_rebuild_done(egc, dcs, rc); >> @@ -966,6 +989,7 @@ static void domcreate_bootloader_done(libxl__egc >> *egc, >> } >> >> /* Restore */ >> + callbacks->checkpoint = libxl__remus_domain_checkpoint_callback; > > This should be moved after read_stream_init() > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index e42de47..86f7f13 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -989,8 +989,6 @@ static void domcreate_bootloader_done(libxl__egc > *egc, > } > > /* Restore */ > - callbacks->checkpoint = libxl__remus_domain_checkpoint_callback; > - > rc = libxl__build_pre(gc, domid, d_config, state); > if (rc) > goto out; > @@ -1003,6 +1001,7 @@ static void domcreate_bootloader_done(libxl__egc > *egc, > dcs->srs.legacy = (dcs->restore_params.stream_version == 1); > dcs->srs.completion_callback = domcreate_stream_done; > dcs->srs.checkpoint_callback = remus_checkpoint_stream_done; > + callbacks->checkpoint = libxl__remus_domain_checkpoint_callback; > > libxl__stream_read_start(egc, &dcs->srs); > return; Thanks. I have already fixed this a different way, given IanJ's review of the _init() methods. The new init methods don't clobber the callbacks. ~Andrew