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

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to