|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1 of 2] libxl: provide libxl_domain_config_init
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1333533071 -3600
# Node ID ac6f863df8f8c86dcc58df15f94333e6088e0bf4
# Parent d00faeaf21dd280500d2deace00683d884a2dc10
libxl: provide libxl_domain_config_init.
Currently this struct is too complicated for the IDL to represent (arrays) so
for now implement by hand.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r d00faeaf21dd -r ac6f863df8f8 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h Wed Apr 04 10:49:08 2012 +0100
+++ b/tools/libxl/libxl.h Wed Apr 04 10:51:11 2012 +0100
@@ -462,6 +462,7 @@ int libxl_ctx_postfork(libxl_ctx *ctx);
typedef int (*libxl_console_ready)(libxl_ctx *ctx, uint32_t domid, void *priv);
int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
libxl_console_ready cb, void *priv, uint32_t *domid);
int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
libxl_console_ready cb, void *priv, uint32_t *domid, int restore_fd);
+void libxl_domain_config_init(libxl_domain_config *d_config);
void libxl_domain_config_dispose(libxl_domain_config *d_config);
int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
uint32_t domid, int fd);
diff -r d00faeaf21dd -r ac6f863df8f8 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c Wed Apr 04 10:49:08 2012 +0100
+++ b/tools/libxl/libxl_create.c Wed Apr 04 10:51:11 2012 +0100
@@ -22,6 +22,13 @@
#include <xc_dom.h>
#include <xenguest.h>
+void libxl_domain_config_init(libxl_domain_config *d_config)
+{
+ memset(d_config, 0, sizeof(*d_config));
+ libxl_domain_create_info_init(&d_config->c_info);
+ libxl_domain_build_info_init(&d_config->b_info);
+}
+
void libxl_domain_config_dispose(libxl_domain_config *d_config)
{
int i;
diff -r d00faeaf21dd -r ac6f863df8f8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c Wed Apr 04 10:49:08 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c Wed Apr 04 10:51:11 2012 +0100
@@ -535,8 +535,6 @@ static void parse_config_data(const char
exit(1);
}
- libxl_domain_create_info_init(c_info);
-
if (!xlu_cfg_get_string (config, "seclabel", &buf, 0)) {
e = libxl_flask_context_to_sid(ctx, (char *)buf, strlen(buf),
&c_info->ssidref);
@@ -582,7 +580,6 @@ static void parse_config_data(const char
exit(1);
}
- libxl_domain_build_info_init(b_info);
libxl_domain_build_info_init_type(b_info, c_info->type);
/* the following is the actual config parsing with overriding values in
the structures */
@@ -1505,7 +1502,7 @@ static int create_domain(struct domain_c
pid_t child_console_pid = -1;
struct save_file_header hdr;
- memset(&d_config, 0x00, sizeof(d_config));
+ libxl_domain_config_init(&d_config);
if (restore_file) {
uint8_t *optdata_begin = 0;
@@ -1822,7 +1819,7 @@ start:
/* Reparse the configuration in case it has changed */
libxl_domain_config_dispose(&d_config);
- memset(&d_config, 0, sizeof(d_config));
+ libxl_domain_config_init(&d_config);
parse_config_data(config_file, config_data, config_len,
&d_config);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |