|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10 18/31] libxc/restore: support COLO restore
On 02/25/2016 11:57 PM, Wei Liu wrote:
> On Mon, Feb 22, 2016 at 10:52:22AM +0800, Wen Congyang wrote:
> [...]
>> - * With Remus, we buffer the records sent by the primary at checkpoint,
>> + * With Remus/COLO, we buffer the records sent by the primary at checkpoint,
>> * in case the primary will fail, we can recover from the last
>> * checkpoint state.
>> * This should be enough for most of the cases because primary only send
>> diff --git a/tools/libxc/xc_sr_restore.c b/tools/libxc/xc_sr_restore.c
>> index aef9bca..2ae8154 100644
>> --- a/tools/libxc/xc_sr_restore.c
>> +++ b/tools/libxc/xc_sr_restore.c
>> @@ -460,6 +460,49 @@ static int handle_checkpoint(struct xc_sr_context *ctx)
>> else
>> ctx->restore.buffer_all_records = true;
>>
>> + if ( ctx->restore.checkpointed == MIG_STREAM_COLO )
>> + {
>> +#define HANDLE_CALLBACK_RETURN_VALUE(ret) \
>> + do { \
>> + if ( ret == 1 ) \
>> + rc = 0; /* Success */ \
>> + else \
>> + { \
>> + if ( ret == 2 ) \
>> + rc = BROKEN_CHANNEL; \
>> + else \
>> + rc = -1; /* Some unspecified error */ \
>> + goto err; \
>> + } \
>> + } while (0)
>> +
>> + /* COLO */
>> +
>> + /* We need to resume guest */
>> + rc = ctx->restore.ops.stream_complete(ctx);
>> + if ( rc )
>> + goto err;
>> +
>> + /* TODO: call restore_results */
>> +
>> + /* Resume secondary vm */
>> + ret =
>> ctx->restore.callbacks->postcopy(ctx->restore.callbacks->data);
>> + HANDLE_CALLBACK_RETURN_VALUE(ret);
>> +
>> + /* Wait for a new checkpoint */
>> + ret = ctx->restore.callbacks->wait_checkpoint(
>> +
>> ctx->restore.callbacks->data);
>> + HANDLE_CALLBACK_RETURN_VALUE(ret);
>> +
>> + /* suspend secondary vm */
>> + ret = ctx->restore.callbacks->suspend(ctx->restore.callbacks->data);
>> + HANDLE_CALLBACK_RETURN_VALUE(ret);
>> +
>> +#undef HANDLE_CALLBACK_RETURN_VALUE
>> +
>> + /* TODO: send dirty pfn list to primary */
>
> You replace the TODOs with actual code in the next two patches.
>
> You can rearrange them a bit so that you don't need to add TODOs at all.
Yes, will fix it in the next version.
Thanks
Wen Congyang
>
>
> Wei.
>
>
> .
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |