@@ -75,13 +75,18 @@ struct save_callbacks {
void* data;
};
+typedef enum {
+ XC_MIG_STREAM_NONE, /* plain stream */
+ XC_MIG_STREAM_REMUS,
+} xc_migration_stream_t;
+
/**
* This function will save a running domain.
*
* @parm xch a handle to an open hypervisor interface
* @parm fd the file descriptor to save a domain to
* @parm dom the id of the domain
- * @param checkpointed_stream MIG_STREAM_NONE if the far end of the stream
+ * @param checkpointed_stream XC_MIG_STREAM_NONE if the far end of the stream
* doesn't use checkpointing
* @return 0 on success, -1 on failure
*/
@@ -180,16 +180,6 @@ struct xc_sr_context
xc_dominfo_t dominfo;
- /*
- * migration stream
- * 0: Plain VM
- * 1: Remus
- */
- enum {
- MIG_STREAM_NONE, /* plain stream */
- MIG_STREAM_REMUS,
- } migration_stream;
-
union /* Common save or restore data. */
{
struct /* Save data. */
@@ -629,7 +629,7 @@ static int send_domain_memory_live(struct xc_sr_context *ctx)
if ( rc )
goto out;
- if ( ctx->save.debug && ctx->save.checkpointed != MIG_STREAM_NONE )
+ if ( ctx->save.debug && ctx->save.checkpointed != XC_MIG_STREAM_NONE )
{
rc = verify_frames(ctx);
if ( rc )
@@ -758,7 +758,7 @@ static int save(struct xc_sr_context *ctx, uint16_t guest_type)
if ( ctx->save.live )
rc = send_domain_memory_live(ctx);
- else if ( ctx->save.checkpointed != MIG_STREAM_NONE )
+ else if ( ctx->save.checkpointed != XC_MIG_STREAM_NONE )
rc = send_domain_memory_checkpointed(ctx);
else
rc = send_domain_memory_nonlive(ctx);
@@ -778,7 +778,7 @@ static int save(struct xc_sr_context *ctx, uint16_t guest_type)
if ( rc )
goto err;
- if ( ctx->save.checkpointed != MIG_STREAM_NONE )
+ if ( ctx->save.checkpointed != XC_MIG_STREAM_NONE )
{
/*
* We have now completed the initial live portion of the checkpoint
@@ -799,7 +799,7 @@ static int save(struct xc_sr_context *ctx, uint16_t guest_type)
if ( rc <= 0 )
goto err;
}
- } while ( ctx->save.checkpointed != MIG_STREAM_NONE );
+ } while ( ctx->save.checkpointed != XC_MIG_STREAM_NONE );
xc_report_progress_single(xch, "End of stream");
@@ -845,8 +845,8 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom,
ctx.save.checkpointed = checkpointed_stream;
/* If altering migration_stream update this assert too. */
- assert(checkpointed_stream == MIG_STREAM_NONE ||
- checkpointed_stream == MIG_STREAM_REMUS);
+ assert(checkpointed_stream == XC_MIG_STREAM_NONE ||
+ checkpointed_stream == XC_MIG_STREAM_REMUS);
/*
* TODO: Find some time to better tweak the live migration algorithm.
xc_domain_save() and xc_domain_restore's parameter will use this type, so it should be public. Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> --- v2->v3: Rename MIG_STREAM_* to XC_MIG_STREAM_* tools/libxc/include/xenguest.h | 7 ++++++- tools/libxc/xc_sr_common.h | 10 ---------- tools/libxc/xc_sr_save.c | 12 ++++++------ 3 files changed, 12 insertions(+), 17 deletions(-)