* [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h
@ 2016-03-11 5:39 Wen Congyang
2016-03-11 5:39 ` [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t Wen Congyang
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Wen Congyang @ 2016-03-11 5:39 UTC (permalink / raw)
To: xen devel, Andrew Cooper, Wei Liu; +Cc: Ian Jackson, Ian Campbell, Wen Congyang
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(-)
diff --git a/tools/libxc/include/xenguest.h b/tools/libxc/include/xenguest.h
index affc42b..cf521c3 100644
--- a/tools/libxc/include/xenguest.h
+++ b/tools/libxc/include/xenguest.h
@@ -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
*/
diff --git a/tools/libxc/xc_sr_common.h b/tools/libxc/xc_sr_common.h
index 66f595f..e7568b5 100644
--- a/tools/libxc/xc_sr_common.h
+++ b/tools/libxc/xc_sr_common.h
@@ -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. */
diff --git a/tools/libxc/xc_sr_save.c b/tools/libxc/xc_sr_save.c
index e258b7c..ab59673 100644
--- a/tools/libxc/xc_sr_save.c
+++ b/tools/libxc/xc_sr_save.c
@@ -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.
--
2.5.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t
2016-03-11 5:39 [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wen Congyang
@ 2016-03-11 5:39 ` Wen Congyang
2016-03-11 14:44 ` Wei Liu
2016-03-11 5:39 ` [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type Wen Congyang
2016-03-11 14:44 ` [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wei Liu
2 siblings, 1 reply; 7+ messages in thread
From: Wen Congyang @ 2016-03-11 5:39 UTC (permalink / raw)
To: xen devel, Andrew Cooper, Wei Liu; +Cc: Ian Jackson, Ian Campbell, Wen Congyang
checkpointed_stream is also renamed to stream_type
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
---
v2->v3: Rename checkpointed_stream to stream_type
tools/libxc/include/xenguest.h | 8 ++++----
tools/libxc/xc_nomigrate.c | 4 ++--
tools/libxc/xc_sr_restore.c | 10 +++++-----
tools/libxc/xc_sr_save.c | 8 ++++----
tools/libxl/libxl_save_helper.c | 42 ++++++++++++++++++++---------------------
5 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/tools/libxc/include/xenguest.h b/tools/libxc/include/xenguest.h
index cf521c3..4f0b06e 100644
--- a/tools/libxc/include/xenguest.h
+++ b/tools/libxc/include/xenguest.h
@@ -86,14 +86,14 @@ typedef enum {
* @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 XC_MIG_STREAM_NONE if the far end of the stream
+ * @param stream_type XC_MIG_STREAM_NONE if the far end of the stream
* doesn't use checkpointing
* @return 0 on success, -1 on failure
*/
int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
struct save_callbacks* callbacks, int hvm,
- int checkpointed_stream);
+ xc_migration_stream_t stream_type);
/* callbacks provided by xc_domain_restore */
struct restore_callbacks {
@@ -121,7 +121,7 @@ struct restore_callbacks {
* @parm hvm non-zero if this is a HVM restore
* @parm pae non-zero if this HVM domain has PAE support enabled
* @parm superpages non-zero to allocate guest memory with superpages
- * @parm checkpointed_stream non-zero if the far end of the stream is using checkpointing
+ * @parm stream_type non-zero if the far end of the stream is using checkpointing
* @parm callbacks non-NULL to receive a callback to restore toolstack
* specific data
* @return 0 on success, -1 on failure
@@ -131,7 +131,7 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
domid_t store_domid, unsigned int console_evtchn,
unsigned long *console_mfn, domid_t console_domid,
unsigned int hvm, unsigned int pae, int superpages,
- int checkpointed_stream,
+ xc_migration_stream_t stream_type,
struct restore_callbacks *callbacks);
/**
diff --git a/tools/libxc/xc_nomigrate.c b/tools/libxc/xc_nomigrate.c
index c9124df..08e1f8c 100644
--- a/tools/libxc/xc_nomigrate.c
+++ b/tools/libxc/xc_nomigrate.c
@@ -23,7 +23,7 @@
int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
uint32_t max_factor, uint32_t flags,
struct save_callbacks* callbacks, int hvm,
- int checkpointed_stream)
+ xc_migration_stream_t stream_type)
{
errno = ENOSYS;
return -1;
@@ -34,7 +34,7 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
domid_t store_domid, unsigned int console_evtchn,
unsigned long *console_mfn, domid_t console_domid,
unsigned int hvm, unsigned int pae, int superpages,
- int checkpointed_stream,
+ xc_migration_stream_t stream_type,
struct restore_callbacks *callbacks)
{
errno = ENOSYS;
diff --git a/tools/libxc/xc_sr_restore.c b/tools/libxc/xc_sr_restore.c
index d4d33fd..819401d 100644
--- a/tools/libxc/xc_sr_restore.c
+++ b/tools/libxc/xc_sr_restore.c
@@ -725,7 +725,7 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
domid_t store_domid, unsigned int console_evtchn,
unsigned long *console_gfn, domid_t console_domid,
unsigned int hvm, unsigned int pae, int superpages,
- int checkpointed_stream,
+ xc_migration_stream_t stream_type,
struct restore_callbacks *callbacks)
{
struct xc_sr_context ctx =
@@ -739,16 +739,16 @@ int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
ctx.restore.console_domid = console_domid;
ctx.restore.xenstore_evtchn = store_evtchn;
ctx.restore.xenstore_domid = store_domid;
- ctx.restore.checkpointed = checkpointed_stream;
+ ctx.restore.checkpointed = stream_type;
ctx.restore.callbacks = callbacks;
/* Sanity checks for callbacks. */
- if ( checkpointed_stream )
+ if ( stream_type )
assert(callbacks->checkpoint);
DPRINTF("fd %d, dom %u, hvm %u, pae %u, superpages %d"
- ", checkpointed_stream %d", io_fd, dom, hvm, pae,
- superpages, checkpointed_stream);
+ ", stream_type %d", io_fd, dom, hvm, pae,
+ superpages, stream_type);
if ( xc_domain_getinfo(xch, dom, 1, &ctx.dominfo) != 1 )
{
diff --git a/tools/libxc/xc_sr_save.c b/tools/libxc/xc_sr_save.c
index ab59673..388ae7f 100644
--- a/tools/libxc/xc_sr_save.c
+++ b/tools/libxc/xc_sr_save.c
@@ -830,7 +830,7 @@ static int save(struct xc_sr_context *ctx, uint16_t guest_type)
int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom,
uint32_t max_iters, uint32_t max_factor, uint32_t flags,
struct save_callbacks* callbacks, int hvm,
- int checkpointed_stream)
+ xc_migration_stream_t stream_type)
{
struct xc_sr_context ctx =
{
@@ -842,11 +842,11 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom,
ctx.save.callbacks = callbacks;
ctx.save.live = !!(flags & XCFLAGS_LIVE);
ctx.save.debug = !!(flags & XCFLAGS_DEBUG);
- ctx.save.checkpointed = checkpointed_stream;
+ ctx.save.checkpointed = stream_type;
/* If altering migration_stream update this assert too. */
- assert(checkpointed_stream == XC_MIG_STREAM_NONE ||
- checkpointed_stream == XC_MIG_STREAM_REMUS);
+ assert(stream_type == XC_MIG_STREAM_NONE ||
+ stream_type == XC_MIG_STREAM_REMUS);
/*
* TODO: Find some time to better tweak the live migration algorithm.
diff --git a/tools/libxl/libxl_save_helper.c b/tools/libxl/libxl_save_helper.c
index 6bdcf13..0fd7022 100644
--- a/tools/libxl/libxl_save_helper.c
+++ b/tools/libxl/libxl_save_helper.c
@@ -246,14 +246,14 @@ int main(int argc, char **argv)
if (!strcmp(mode,"--save-domain")) {
- io_fd = atoi(NEXTARG);
- uint32_t dom = strtoul(NEXTARG,0,10);
- uint32_t max_iters = strtoul(NEXTARG,0,10);
- uint32_t max_factor = strtoul(NEXTARG,0,10);
- uint32_t flags = strtoul(NEXTARG,0,10);
- int hvm = atoi(NEXTARG);
- unsigned cbflags = strtoul(NEXTARG,0,10);
- int checkpointed_stream = strtoul(NEXTARG,0,10);
+ io_fd = atoi(NEXTARG);
+ uint32_t dom = strtoul(NEXTARG,0,10);
+ uint32_t max_iters = strtoul(NEXTARG,0,10);
+ uint32_t max_factor = strtoul(NEXTARG,0,10);
+ uint32_t flags = strtoul(NEXTARG,0,10);
+ int hvm = atoi(NEXTARG);
+ unsigned cbflags = strtoul(NEXTARG,0,10);
+ xc_migration_stream_t stream_type = strtoul(NEXTARG,0,10);
assert(!*++argv);
helper_setcallbacks_save(&helper_save_callbacks, cbflags);
@@ -262,22 +262,22 @@ int main(int argc, char **argv)
setup_signals(save_signal_handler);
r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
- &helper_save_callbacks, hvm, checkpointed_stream);
+ &helper_save_callbacks, hvm, stream_type);
complete(r);
} else if (!strcmp(mode,"--restore-domain")) {
- io_fd = atoi(NEXTARG);
- uint32_t dom = strtoul(NEXTARG,0,10);
- unsigned store_evtchn = strtoul(NEXTARG,0,10);
- domid_t store_domid = strtoul(NEXTARG,0,10);
- unsigned console_evtchn = strtoul(NEXTARG,0,10);
- domid_t console_domid = strtoul(NEXTARG,0,10);
- unsigned int hvm = strtoul(NEXTARG,0,10);
- unsigned int pae = strtoul(NEXTARG,0,10);
- int superpages = strtoul(NEXTARG,0,10);
- unsigned cbflags = strtoul(NEXTARG,0,10);
- int checkpointed = strtoul(NEXTARG,0,10);
+ io_fd = atoi(NEXTARG);
+ uint32_t dom = strtoul(NEXTARG,0,10);
+ unsigned store_evtchn = strtoul(NEXTARG,0,10);
+ domid_t store_domid = strtoul(NEXTARG,0,10);
+ unsigned console_evtchn = strtoul(NEXTARG,0,10);
+ domid_t console_domid = strtoul(NEXTARG,0,10);
+ unsigned int hvm = strtoul(NEXTARG,0,10);
+ unsigned int pae = strtoul(NEXTARG,0,10);
+ int superpages = strtoul(NEXTARG,0,10);
+ unsigned cbflags = strtoul(NEXTARG,0,10);
+ xc_migration_stream_t stream_type = strtoul(NEXTARG,0,10);
assert(!*++argv);
helper_setcallbacks_restore(&helper_restore_callbacks, cbflags);
@@ -291,7 +291,7 @@ int main(int argc, char **argv)
r = xc_domain_restore(xch, io_fd, dom, store_evtchn, &store_mfn,
store_domid, console_evtchn, &console_mfn,
console_domid, hvm, pae, superpages,
- checkpointed,
+ stream_type,
&helper_restore_callbacks);
helper_stub_restore_results(store_mfn,console_mfn,0);
complete(r);
--
2.5.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type
2016-03-11 5:39 [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wen Congyang
2016-03-11 5:39 ` [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t Wen Congyang
@ 2016-03-11 5:39 ` Wen Congyang
2016-03-11 14:45 ` Wei Liu
2016-03-11 16:14 ` Wei Liu
2016-03-11 14:44 ` [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wei Liu
2 siblings, 2 replies; 7+ messages in thread
From: Wen Congyang @ 2016-03-11 5:39 UTC (permalink / raw)
To: xen devel, Andrew Cooper, Wei Liu; +Cc: Ian Jackson, Ian Campbell, Wen Congyang
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
---
tools/libxl/libxl.c | 4 ++--
tools/libxl/libxl.h | 8 ++++++++
tools/libxl/libxl_create.c | 4 ++--
tools/libxl/libxl_dom_save.c | 6 +++---
tools/libxl/libxl_internal.h | 2 +-
tools/libxl/libxl_save_callout.c | 4 ++--
tools/libxl/libxl_stream_read.c | 4 ++--
tools/libxl/libxl_stream_write.c | 2 +-
tools/libxl/libxl_types.idl | 2 +-
tools/libxl/xl_cmdimpl.c | 16 ++++++++--------
10 files changed, 30 insertions(+), 22 deletions(-)
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4cdc169..7c2c9fc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -876,7 +876,7 @@ int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
dss->live = 1;
dss->debug = 0;
dss->remus = info;
- dss->checkpointed_stream = LIBXL_CHECKPOINTED_STREAM_REMUS;
+ dss->stream_type = LIBXL_CHECKPOINTED_STREAM_REMUS;
assert(info);
@@ -937,7 +937,7 @@ int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
dss->type = type;
dss->live = flags & LIBXL_SUSPEND_LIVE;
dss->debug = flags & LIBXL_SUSPEND_DEBUG;
- dss->checkpointed_stream = LIBXL_CHECKPOINTED_STREAM_NONE;
+ dss->stream_type = LIBXL_CHECKPOINTED_STREAM_NONE;
rc = libxl__fd_flags_modify_save(gc, dss->fd,
~(O_NONBLOCK|O_NDELAY), 0,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index f9e3ef5..86b1d06 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -863,6 +863,14 @@ void libxl_mac_copy(libxl_ctx *ctx, libxl_mac *dst, libxl_mac *src);
#define LIBXL_HAVE_SRM_V1 1
/*
+ * LIBXL_HAVE_STREAM_TYPE
+ *
+ * If this is define, then the libxl_domain_create_restore() interfaces;s
+ * parameter checkpointed_stream is renamed to stream_type
+ */
+#define LIBXL_HAVE_STREAM_TYPE 1
+
+/*
* libxl_domain_build_info has the u.hvm.gfx_passthru_kind field and
* the libxl_gfx_passthru_kind enumeration is defined.
*/
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index f1028bc..b28eb89 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -993,7 +993,7 @@ static void domcreate_bootloader_done(libxl__egc *egc,
libxl_domain_config *const d_config = dcs->guest_config;
const int restore_fd = dcs->restore_fd;
libxl__domain_build_state *const state = &dcs->build_state;
- const int checkpointed_stream = dcs->restore_params.checkpointed_stream;
+ const int stream_type = dcs->restore_params.stream_type;
if (rc) {
domcreate_rebuild_done(egc, dcs, rc);
@@ -1033,7 +1033,7 @@ static void domcreate_bootloader_done(libxl__egc *egc,
dcs->srs.completion_callback = domcreate_stream_done;
if (restore_fd >= 0) {
- switch (checkpointed_stream) {
+ switch (stream_type) {
case LIBXL_CHECKPOINTED_STREAM_REMUS:
libxl__remus_restore_setup(egc, dcs);
/* fall through */
diff --git a/tools/libxl/libxl_dom_save.c b/tools/libxl/libxl_dom_save.c
index f3288b9..ff92ef0 100644
--- a/tools/libxl/libxl_dom_save.c
+++ b/tools/libxl/libxl_dom_save.c
@@ -338,7 +338,7 @@ void libxl__domain_save(libxl__egc *egc, libxl__domain_save_state *dss)
unsigned int nr_vnodes = 0, nr_vmemranges = 0, nr_vcpus = 0;
libxl__domain_suspend_state *dsps = &dss->dsps;
- if (dss->checkpointed_stream != LIBXL_CHECKPOINTED_STREAM_NONE && !r_info) {
+ if (dss->stream_type != LIBXL_CHECKPOINTED_STREAM_NONE && !r_info) {
LOG(ERROR, "Migration stream is checkpointed, but there's no "
"checkpoint info!");
rc = ERROR_INVAL;
@@ -383,12 +383,12 @@ void libxl__domain_save(libxl__egc *egc, libxl__domain_save_state *dss)
goto out;
}
- if (dss->checkpointed_stream == LIBXL_CHECKPOINTED_STREAM_REMUS) {
+ if (dss->stream_type == LIBXL_CHECKPOINTED_STREAM_REMUS) {
if (libxl_defbool_val(r_info->compression))
dss->xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
}
- if (dss->checkpointed_stream == LIBXL_CHECKPOINTED_STREAM_NONE)
+ if (dss->stream_type == LIBXL_CHECKPOINTED_STREAM_NONE)
callbacks->suspend = libxl__domain_suspend_callback;
callbacks->switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 005fe53..0aada0d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -3128,7 +3128,7 @@ struct libxl__domain_save_state {
libxl_domain_type type;
int live;
int debug;
- int checkpointed_stream;
+ libxl_checkpointed_stream stream_type;
const libxl_domain_remus_info *remus;
/* private */
int rc;
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 7f1f5d4..133d74e 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -61,7 +61,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,
- cbflags, dcs->restore_params.checkpointed_stream,
+ cbflags, dcs->restore_params.stream_type,
};
shs->ao = ao;
@@ -85,7 +85,7 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_save_state *dss,
const unsigned long argnums[] = {
dss->domid, 0, 0, dss->xcflags, dss->hvm,
- cbflags, dss->checkpointed_stream,
+ cbflags, dss->stream_type,
};
shs->ao = ao;
diff --git a/tools/libxl/libxl_stream_read.c b/tools/libxl/libxl_stream_read.c
index f4781eb..2c480c0 100644
--- a/tools/libxl/libxl_stream_read.c
+++ b/tools/libxl/libxl_stream_read.c
@@ -773,7 +773,7 @@ void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
STATE_AO_GC(dcs->ao);
/* convenience aliases */
- const int checkpointed_stream = dcs->restore_params.checkpointed_stream;
+ const int stream_type = dcs->restore_params.stream_type;
if (rc)
goto err;
@@ -794,7 +794,7 @@ void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
* If the stream is not still alive, we must not continue any work.
*/
if (libxl__stream_read_inuse(stream)) {
- switch (checkpointed_stream) {
+ switch (stream_type) {
case LIBXL_CHECKPOINTED_STREAM_REMUS:
/*
* Failover from primary. Domain state is currently at a
diff --git a/tools/libxl/libxl_stream_write.c b/tools/libxl/libxl_stream_write.c
index f6ea55d..4894f51 100644
--- a/tools/libxl/libxl_stream_write.c
+++ b/tools/libxl/libxl_stream_write.c
@@ -355,7 +355,7 @@ void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
* If the stream is not still alive, we must not continue any work.
*/
if (libxl__stream_write_inuse(stream)) {
- if (dss->checkpointed_stream != LIBXL_CHECKPOINTED_STREAM_NONE)
+ if (dss->stream_type != LIBXL_CHECKPOINTED_STREAM_NONE)
/*
* For remus, if libxl__xc_domain_save_done() completes,
* there was an error sending data to the secondary.
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 632c009..7cfeb83 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -382,7 +382,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
], dir=DIR_IN)
libxl_domain_restore_params = Struct("domain_restore_params", [
- ("checkpointed_stream", integer),
+ ("stream_type", integer),
("stream_version", uint32, {'init_val': '1'}),
])
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 990d3c9..006f3e1 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -154,7 +154,7 @@ struct domain_create {
int vnc;
int vncautopass;
int console_autoconnect;
- int checkpointed_stream;
+ int stream_type;
const char *config_file;
char *extra_config; /* extra config string */
const char *restore_file;
@@ -2890,7 +2890,7 @@ start:
libxl_domain_restore_params_init(¶ms);
- params.checkpointed_stream = dom_info->checkpointed_stream;
+ params.stream_type = dom_info->stream_type;
params.stream_version =
(hdr.mandatory_flags & XL_MANDATORY_FLAG_STREAMv2) ? 2 : 1;
@@ -4435,7 +4435,7 @@ static void migrate_domain(uint32_t domid, const char *rune, int debug,
static void migrate_receive(int debug, int daemonize, int monitor,
int send_fd, int recv_fd,
- libxl_checkpointed_stream checkpointed)
+ libxl_checkpointed_stream stream_type)
{
uint32_t domid;
int rc, rc2;
@@ -4460,7 +4460,7 @@ static void migrate_receive(int debug, int daemonize, int monitor,
dom_info.paused = 1;
dom_info.migrate_fd = recv_fd;
dom_info.migration_domname_r = &migration_domname;
- dom_info.checkpointed_stream = checkpointed;
+ dom_info.stream_type = stream_type;
rc = create_domain(&dom_info);
if (rc < 0) {
@@ -4471,7 +4471,7 @@ static void migrate_receive(int debug, int daemonize, int monitor,
domid = rc;
- switch (checkpointed) {
+ switch (stream_type) {
case LIBXL_CHECKPOINTED_STREAM_REMUS:
/* If we are here, it means that the sender (primary) has crashed.
* TODO: Split-Brain Check.
@@ -4646,7 +4646,7 @@ int main_restore(int argc, char **argv)
int main_migrate_receive(int argc, char **argv)
{
int debug = 0, daemonize = 1, monitor = 1;
- libxl_checkpointed_stream checkpointed = LIBXL_CHECKPOINTED_STREAM_NONE;
+ libxl_checkpointed_stream stream_type = LIBXL_CHECKPOINTED_STREAM_NONE;
int opt;
SWITCH_FOREACH_OPT(opt, "Fedr", NULL, "migrate-receive", 0) {
@@ -4661,7 +4661,7 @@ int main_migrate_receive(int argc, char **argv)
debug = 1;
break;
case 'r':
- checkpointed = LIBXL_CHECKPOINTED_STREAM_REMUS;
+ stream_type = LIBXL_CHECKPOINTED_STREAM_REMUS;
break;
}
@@ -4671,7 +4671,7 @@ int main_migrate_receive(int argc, char **argv)
}
migrate_receive(debug, daemonize, monitor,
STDOUT_FILENO, STDIN_FILENO,
- checkpointed);
+ stream_type);
return 0;
}
--
2.5.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h
2016-03-11 5:39 [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wen Congyang
2016-03-11 5:39 ` [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t Wen Congyang
2016-03-11 5:39 ` [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type Wen Congyang
@ 2016-03-11 14:44 ` Wei Liu
2 siblings, 0 replies; 7+ messages in thread
From: Wei Liu @ 2016-03-11 14:44 UTC (permalink / raw)
To: Wen Congyang; +Cc: Ian Jackson, Andrew Cooper, Wei Liu, Ian Campbell, xen devel
On Fri, Mar 11, 2016 at 01:39:02PM +0800, Wen Congyang wrote:
> 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>
Acked-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t
2016-03-11 5:39 ` [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t Wen Congyang
@ 2016-03-11 14:44 ` Wei Liu
0 siblings, 0 replies; 7+ messages in thread
From: Wei Liu @ 2016-03-11 14:44 UTC (permalink / raw)
To: Wen Congyang; +Cc: Ian Jackson, Andrew Cooper, Wei Liu, Ian Campbell, xen devel
On Fri, Mar 11, 2016 at 01:39:03PM +0800, Wen Congyang wrote:
> checkpointed_stream is also renamed to stream_type
>
> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type
2016-03-11 5:39 ` [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type Wen Congyang
@ 2016-03-11 14:45 ` Wei Liu
2016-03-11 16:14 ` Wei Liu
1 sibling, 0 replies; 7+ messages in thread
From: Wei Liu @ 2016-03-11 14:45 UTC (permalink / raw)
To: Wen Congyang; +Cc: Ian Jackson, Andrew Cooper, Wei Liu, Ian Campbell, xen devel
On Fri, Mar 11, 2016 at 01:39:04PM +0800, Wen Congyang wrote:
> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type
2016-03-11 5:39 ` [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type Wen Congyang
2016-03-11 14:45 ` Wei Liu
@ 2016-03-11 16:14 ` Wei Liu
1 sibling, 0 replies; 7+ messages in thread
From: Wei Liu @ 2016-03-11 16:14 UTC (permalink / raw)
To: Wen Congyang; +Cc: Ian Jackson, Andrew Cooper, Wei Liu, Ian Campbell, xen devel
On Fri, Mar 11, 2016 at 01:39:04PM +0800, Wen Congyang wrote:
> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
> ---
> tools/libxl/libxl.c | 4 ++--
> tools/libxl/libxl.h | 8 ++++++++
> tools/libxl/libxl_create.c | 4 ++--
> tools/libxl/libxl_dom_save.c | 6 +++---
> tools/libxl/libxl_internal.h | 2 +-
> tools/libxl/libxl_save_callout.c | 4 ++--
> tools/libxl/libxl_stream_read.c | 4 ++--
> tools/libxl/libxl_stream_write.c | 2 +-
> tools/libxl/libxl_types.idl | 2 +-
> tools/libxl/xl_cmdimpl.c | 16 ++++++++--------
> 10 files changed, 30 insertions(+), 22 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 4cdc169..7c2c9fc 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -876,7 +876,7 @@ int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
> dss->live = 1;
> dss->debug = 0;
> dss->remus = info;
> - dss->checkpointed_stream = LIBXL_CHECKPOINTED_STREAM_REMUS;
> + dss->stream_type = LIBXL_CHECKPOINTED_STREAM_REMUS;
>
> assert(info);
>
> @@ -937,7 +937,7 @@ int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
> dss->type = type;
> dss->live = flags & LIBXL_SUSPEND_LIVE;
> dss->debug = flags & LIBXL_SUSPEND_DEBUG;
> - dss->checkpointed_stream = LIBXL_CHECKPOINTED_STREAM_NONE;
> + dss->stream_type = LIBXL_CHECKPOINTED_STREAM_NONE;
>
> rc = libxl__fd_flags_modify_save(gc, dss->fd,
> ~(O_NONBLOCK|O_NDELAY), 0,
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> index f9e3ef5..86b1d06 100644
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -863,6 +863,14 @@ void libxl_mac_copy(libxl_ctx *ctx, libxl_mac *dst, libxl_mac *src);
> #define LIBXL_HAVE_SRM_V1 1
>
> /*
> + * LIBXL_HAVE_STREAM_TYPE
> + *
> + * If this is define, then the libxl_domain_create_restore() interfaces;s
> + * parameter checkpointed_stream is renamed to stream_type
> + */
> +#define LIBXL_HAVE_STREAM_TYPE 1
> +
> +/*
I retract my ack on this patch because Andrew mentioned on IRC that you
introduced a new macro.
You should update your old one LIBXL_HAVE_CHECKPOINTED_STREAM instead.
The reason is your old code before this patch is not yet released, you
can change it at will.
Wei.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-03-11 16:14 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-11 5:39 [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wen Congyang
2016-03-11 5:39 ` [PATCH v3 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t Wen Congyang
2016-03-11 14:44 ` Wei Liu
2016-03-11 5:39 ` [PATCH v3 3/3] libxl: rename checkpointed_stream to stream_type Wen Congyang
2016-03-11 14:45 ` Wei Liu
2016-03-11 16:14 ` Wei Liu
2016-03-11 14:44 ` [PATCH v3 1/3] libxc: move migration_stream's definition to xenguest.h Wei Liu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.