[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 COLOPre 06/18] tools/libxl: introduce enum type libxl_checkpointed_stream
From: Yang Hongyang <hongyang.yang@xxxxxxxxxxxx> introduce enum type libxl_checkpointed_stream in IDL. rename the last argument of migrate_receive from "remus" to "checkpointed" since the semantics of this parameter has changed. NOTE: libxl_domain_restore_params isn't changed here, checkpointed_stream is still an int. Signed-off-by: Yang Hongyang <hongyang.yang@xxxxxxxxxxxx> Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> --- tools/libxl/libxl.h | 7 +++++++ tools/libxl/libxl_types.idl | 5 +++++ tools/libxl/xl_cmdimpl.c | 18 ++++++++++++------ 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 05606a7..a01e448 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -867,6 +867,13 @@ void libxl_mac_copy(libxl_ctx *ctx, libxl_mac *dst, libxl_mac *src); */ #define LIBXL_HAVE_DEVICE_MODEL_VERSION_NONE 1 +/* + * LIBXL_HAVE_CHECKPOINTED_STREAM + * + * If this is defined, then libxl_checkpointed_stream exists. + */ +#define LIBXL_HAVE_CHECKPOINTED_STREAM 1 + typedef char **libxl_string_list; void libxl_string_list_dispose(libxl_string_list *sl); int libxl_string_list_length(const libxl_string_list *sl); diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 9658356..3ef11aa 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -228,6 +228,11 @@ libxl_hdtype = Enumeration("hdtype", [ (2, "AHCI"), ], init_val = "LIBXL_HDTYPE_IDE") +libxl_checkpointed_stream = Enumeration("checkpointed_stream", [ + (0, "NONE"), + (1, "REMUS"), + ]) + # # Complex libxl types # diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index f9933cb..c1cd696 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -4424,7 +4424,8 @@ 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, int remus) + int send_fd, int recv_fd, + libxl_checkpointed_stream checkpointed) { uint32_t domid; int rc, rc2; @@ -4449,7 +4450,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 = remus; + dom_info.checkpointed_stream = checkpointed; rc = create_domain(&dom_info); if (rc < 0) { @@ -4460,7 +4461,8 @@ static void migrate_receive(int debug, int daemonize, int monitor, domid = rc; - if (remus) { + switch (checkpointed) { + case LIBXL_CHECKPOINTED_STREAM_REMUS: /* If we are here, it means that the sender (primary) has crashed. * TODO: Split-Brain Check. */ @@ -4493,6 +4495,9 @@ static void migrate_receive(int debug, int daemonize, int monitor, common_domname, domid, rc); exit(rc ? -ERROR_FAIL: 0); + default: + /* do nothing */ + break; } fprintf(stderr, "migration target: Transfer complete," @@ -4630,7 +4635,8 @@ int main_restore(int argc, char **argv) int main_migrate_receive(int argc, char **argv) { - int debug = 0, daemonize = 1, monitor = 1, remus = 0; + int debug = 0, daemonize = 1, monitor = 1; + libxl_checkpointed_stream checkpointed = LIBXL_CHECKPOINTED_STREAM_NONE; int opt; SWITCH_FOREACH_OPT(opt, "Fedr", NULL, "migrate-receive", 0) { @@ -4645,7 +4651,7 @@ int main_migrate_receive(int argc, char **argv) debug = 1; break; case 'r': - remus = 1; + checkpointed = LIBXL_CHECKPOINTED_STREAM_REMUS; break; } @@ -4655,7 +4661,7 @@ int main_migrate_receive(int argc, char **argv) } migrate_receive(debug, daemonize, monitor, STDOUT_FILENO, STDIN_FILENO, - remus); + checkpointed); return 0; } -- 2.5.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |