* [PATCH v4 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t
2016-03-15 1:58 [PATCH v4 1/3] libxc: move migration_stream's definition to xenguest.h Wen Congyang
@ 2016-03-15 1:58 ` Wen Congyang
2016-03-17 13:53 ` Ian Jackson
2016-03-15 1:58 ` [PATCH v4 3/3] libxl: rename checkpointed_stream to stream_type Wen Congyang
1 sibling, 1 reply; 6+ messages in thread
From: Wen Congyang @ 2016-03-15 1:58 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>
Acked-by: Wei Liu <wei.liu2@citrix.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] 6+ messages in thread
* [PATCH v4 3/3] libxl: rename checkpointed_stream to stream_type
2016-03-15 1:58 [PATCH v4 1/3] libxc: move migration_stream's definition to xenguest.h Wen Congyang
2016-03-15 1:58 ` [PATCH v4 2/3] tools: change checkpointed_stream's type from int to xc_migration_stream_t Wen Congyang
@ 2016-03-15 1:58 ` Wen Congyang
2016-03-15 12:54 ` Wei Liu
1 sibling, 1 reply; 6+ messages in thread
From: Wen Congyang @ 2016-03-15 1:58 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>
---
v3->v4: Remove the new macro, and updte the macro LIBXL_HAVE_CHECKPOINTED_STREAM
tools/libxl/libxl.c | 4 ++--
tools/libxl/libxl.h | 4 +++-
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, 25 insertions(+), 23 deletions(-)
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 93e228d..7579dd2 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..c55094b 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -879,7 +879,9 @@ void libxl_mac_copy(libxl_ctx *ctx, libxl_mac *dst, libxl_mac *src);
/*
* LIBXL_HAVE_CHECKPOINTED_STREAM
*
- * If this is defined, then libxl_checkpointed_stream exists.
+ * If this is defined, then libxl_checkpointed_stream exists, and the
+ * libxl_domain_create_restore() interface's parameter checkpointed_stream
+ * is renamed to stream_type
*/
#define LIBXL_HAVE_CHECKPOINTED_STREAM 1
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] 6+ messages in thread