[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [v2] xl: Don't require a config file for cpupools


  • To: xen-changelog@xxxxxxxxxxxxxxxxxxx
  • From: Xen patchbot-unstable <patchbot@xxxxxxx>
  • Date: Mon, 14 May 2012 16:31:59 +0000
  • Delivery-date: Mon, 14 May 2012 16:32:07 +0000
  • List-id: "Change log for Mercurial \(receive only\)" <xen-changelog.lists.xen.org>

# HG changeset patch
# User George Dunlap <george.dunlap@xxxxxxxxxxxxx>
# Date 1335289916 -3600
# Node ID 7872b091890196b4d170de1e89a5d221506301c6
# Parent  b8e182cc7f2e1394cc80a24598d4cb1c965c3b4a
[v2] xl: Don't require a config file for cpupools

Since the key information can be fairly simply put on the command-line,
there's no need to require an actual config file.

Also improve the help to cross-reference the xlcpupool.cfg manpage.

Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r b8e182cc7f2e -r 7872b0918901 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1 Tue Apr 24 18:51:56 2012 +0100
+++ b/docs/man/xl.pod.1 Tue Apr 24 18:51:56 2012 +0100
@@ -873,11 +873,13 @@ Cpu-pools can be specified either by nam
 
 =over 4
 
-=item B<cpupool-create> [I<OPTIONS>] I<ConfigFile> [I<Variable=Value> ...]
+=item B<cpupool-create> [I<OPTIONS>] [I<ConfigFile>] [I<Variable=Value> ...]
 
-Create a cpu pool based an I<ConfigFile>.
-Variable settings from the I<ConfigFile> may be altered by specifying new
-or additional assignments on the command line.
+Create a cpu pool based an config from a I<ConfigFile> or command-line
+parameters.  Variable settings from the I<ConfigFile> may be altered
+by specifying new or additional assignments on the command line.
+
+See the L<xlcpupool.cfg(5)> manpage for more information.
 
 B<OPTIONS>
 
diff -r b8e182cc7f2e -r 7872b0918901 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Tue Apr 24 18:51:56 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Tue Apr 24 18:51:56 2012 +0100
@@ -5547,7 +5547,7 @@ int main_tmem_freeable(int argc, char **
 
 int main_cpupoolcreate(int argc, char **argv)
 {
-    const char *filename = NULL;
+    const char *filename = NULL, *config_src=NULL;
     const char *p;
     char extra_config[1024];
     int opt;
@@ -5611,23 +5611,26 @@ int main_cpupoolcreate(int argc, char **
         optind++;
     }
 
-    if (!filename) {
-        help("cpupool-create");
-        return -ERROR_FAIL;
-    }
-
-    if (libxl_read_file_contents(ctx, filename, (void **)&config_data, 
&config_len)) {
-        fprintf(stderr, "Failed to read config file: %s: %s\n",
-                filename, strerror(errno));
-        return -ERROR_FAIL;
-    }
+    if (filename)
+    {
+        if (libxl_read_file_contents(ctx, filename, (void **)&config_data,
+                                     &config_len)) {
+            fprintf(stderr, "Failed to read config file: %s: %s\n",
+                    filename, strerror(errno));
+            return -ERROR_FAIL;
+        }
+        config_src=filename;
+    }
+    else
+        config_src="command line";
+
     if (strlen(extra_config)) {
         if (config_len > INT_MAX - (strlen(extra_config) + 2)) {
             fprintf(stderr, "Failed to attach extra configration\n");
             return -ERROR_FAIL;
         }
         config_data = xrealloc(config_data,
-                              config_len + strlen(extra_config) + 2);
+                               config_len + strlen(extra_config) + 2);
         if (!config_data) {
             fprintf(stderr, "Failed to realloc config_data\n");
             return -ERROR_FAIL;
@@ -5638,7 +5641,7 @@ int main_cpupoolcreate(int argc, char **
         config_len += strlen(extra_config) + 1;
     }
 
-    config = xlu_cfg_init(stderr, filename);
+    config = xlu_cfg_init(stderr, config_src);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
         return -ERROR_FAIL;
@@ -5652,8 +5655,12 @@ int main_cpupoolcreate(int argc, char **
 
     if (!xlu_cfg_get_string (config, "name", &buf, 0))
         name = strdup(buf);
-    else
+    else if (filename)
         name = libxl_basename(filename);
+    else {
+        fprintf(stderr, "Missing cpupool name!\n");
+        return -ERROR_FAIL;
+    }
     if (!libxl_name_to_cpupoolid(ctx, name, &poolid)) {
         fprintf(stderr, "Pool name \"%s\" already exists\n", name);
         return -ERROR_FAIL;
@@ -5723,7 +5730,7 @@ int main_cpupoolcreate(int argc, char **
 
     libxl_uuid_generate(&uuid);
 
-    printf("Using config file \"%s\"\n", filename);
+    printf("Using config file \"%s\"\n", config_src);
     printf("cpupool name:   %s\n", name);
     printf("scheduler:      %s\n", libxl_scheduler_to_string(sched));
     printf("number of cpus: %d\n", n_cpus);
diff -r b8e182cc7f2e -r 7872b0918901 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c Tue Apr 24 18:51:56 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c Tue Apr 24 18:51:56 2012 +0100
@@ -367,12 +367,14 @@ struct cmd_spec cmd_table[] = {
     },
     { "cpupool-create",
       &main_cpupoolcreate, 1,
-      "Create a CPU pool based an ConfigFile",
-      "[options] <ConfigFile> [vars]",
+      "Create a new CPU pool",
+      "[options] [<ConfigFile>] [Variable=value ...]",
       "-h, --help                   Print this help.\n"
       "-f FILE, --defconfig=FILE    Use the given configuration file.\n"
       "-n, --dryrun                 Dry run - prints the resulting 
configuration.\n"
-      "                              (deprecated in favour of global -N 
option)."
+      "                              (deprecated in favour of global -N 
option).\n"
+      "\nSee the xlcpupool.cfg(5) manpage for more information.",
+
     },
     { "cpupool-list",
       &main_cpupoollist, 0,

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.