xl: support oos domain parameter
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 23 Apr 2010 07:39:29 +0000 (08:39 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 23 Apr 2010 07:39:29 +0000 (08:39 +0100)
Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Acked-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
tools/libxl/libxl.c
tools/libxl/libxl.h
tools/libxl/xl.c

index 7cb3a1caebdbf9086fc6c2cf770dc33d443acdea..1d42f3cf34db5b9b914dd58695c732d900ba5200 100644 (file)
@@ -99,6 +99,7 @@ int libxl_domain_make(struct libxl_ctx *ctx, libxl_domain_create_info *info,
 
     flags = info->hvm ? XEN_DOMCTL_CDF_hvm_guest : 0;
     flags |= info->hap ? XEN_DOMCTL_CDF_hap : 0;
+    flags |= info->oos ? 0 : XEN_DOMCTL_CDF_oos_off;
     *domid = -1;
 
     /* Ultimately, handle is an array of 16 uint8_t, same as uuid */
index 0d3b767e6514233caa0166025ac81e8d7e125826..96740104f8a6cfcacf889bf8f797cc85154394c4 100644 (file)
@@ -79,6 +79,7 @@ const libxl_version_info* libxl_get_version_info(struct libxl_ctx *ctx);
 typedef struct {
     bool hvm;
     bool hap;
+    bool oos;
     int ssidref;
     char *name;
     uint8_t uuid[16];
index e1cc5290efd610bdd1efa243acf0d5f70049696a..9dc702bffe14b7a45d9af05e43d1a221f6be6fb0 100644 (file)
@@ -151,6 +151,7 @@ static void init_create_info(libxl_domain_create_info *c_info)
     c_info->xsdata = NULL;
     c_info->platformdata = NULL;
     c_info->hvm = 1;
+    c_info->oos = 1;
     c_info->ssidref = 0;
 }
 
@@ -275,6 +276,7 @@ static void printf_info(libxl_domain_create_info *c_info,
     printf("*** domain_create_info ***\n");
     printf("hvm: %d\n", c_info->hvm);
     printf("hap: %d\n", c_info->hap);
+    printf("oos: %d\n", c_info->oos);
     printf("ssidref: %d\n", c_info->ssidref);
     printf("name: %s\n", c_info->name);
     printf("uuid: " UUID_FMT "\n",
@@ -436,6 +438,9 @@ static void parse_config_data(const char *configfile_filename_report,
         c_info->uuid[i] = rand();
     }
 
+    if (!xlu_cfg_get_long(config, "oos", &l))
+        c_info->oos = l;
+
     init_build_info(b_info, c_info);
 
     /* the following is the actual config parsing with overriding values in the structures */